You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by yi...@apache.org on 2025/10/12 23:14:57 UTC

(texera) branch main updated: chore: relocate amber (#3878)

This is an automated email from the ASF dual-hosted git repository.

yiconghuang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/main by this push:
     new 95f1bb154e chore: relocate amber (#3878)
95f1bb154e is described below

commit 95f1bb154ecef6e7ebde172cc3a6561f52080c4c
Author: Yicong Huang <17...@users.noreply.github.com>
AuthorDate: Sun Oct 12 16:14:54 2025 -0700

    chore: relocate amber (#3878)
    
    According to the reorganization plan #3846. This PR moves `core/amber`
    out to root.
    
    resolves #3865
    
    ---------
    
    Signed-off-by: Yicong Huang <17...@users.noreply.github.com>
---
 .github/labeler.yml                                |  4 +-
 .github/workflows/github-action-build.yml          |  8 +--
 CONTRIBUTING.md                                    |  4 +-
 .../texera/service/AccessControlService.scala      |  7 +-
 {core/amber => amber}/.scalafix.conf               |  0
 {core/amber => amber}/.scalafmt.conf               |  0
 {core/amber => amber}/DESCRIPTION                  |  0
 {core/amber => amber}/README.md                    |  0
 {core/amber => amber}/build.sbt                    |  0
 {core/amber => amber}/operator-requirements.txt    |  0
 {core/amber => amber}/project/build.properties     |  0
 {core/amber => amber}/project/plugins.sbt          |  0
 {core/amber => amber}/r-requirements.txt           |  0
 {core/amber => amber}/requirements.txt             |  0
 .../engine/architecture/rpc/controlcommands.proto  |  0
 .../architecture/rpc/controllerservice.proto       |  0
 .../engine/architecture/rpc/controlreturns.proto   |  0
 .../engine/architecture/rpc/testerservice.proto    |  0
 .../engine/architecture/rpc/workerservice.proto    |  0
 .../architecture/sendsemantics/partitionings.proto |  0
 .../engine/architecture/worker/statistics.proto    |  0
 .../apache/amber/engine/common/actormessage.proto  |  0
 .../apache/amber/engine/common/ambermessage.proto  |  0
 .../engine/common/executionruntimestate.proto      |  0
 {core/amber => amber}/src/main/python/.flake8      |  0
 .../src/main/python/core/__init__.py               |  0
 .../src/main/python/core/architecture/__init__.py  |  0
 .../python/core/architecture/handlers/__init__.py  |  0
 .../handlers/actorcommand/actor_handler_base.py    |  0
 .../handlers/actorcommand/backpressure_handler.py  |  0
 .../handlers/actorcommand/credit_update_handler.py |  0
 .../core/architecture/handlers/control/__init__.py |  0
 .../handlers/control/add_input_channel_handler.py  |  0
 .../handlers/control/add_partitioning_handler.py   |  0
 .../handlers/control/assign_port_handler.py        |  0
 .../handlers/control/control_handler_base.py       |  0
 .../handlers/control/debug_command_handler.py      |  0
 .../handlers/control/end_channel_handler.py        |  0
 .../handlers/control/end_worker_handler.py         |  0
 .../control/evaluate_expression_handler.py         |  0
 .../control/initialize_executor_handler.py         |  0
 .../handlers/control/no_operation_handler.py       |  0
 .../handlers/control/open_executor_handler.py      |  0
 .../handlers/control/pause_worker_handler.py       |  0
 .../handlers/control/query_statistics_handler.py   |  0
 .../control/replay_current_tuple_handler.py        |  0
 .../handlers/control/resume_worker_handler.py      |  0
 .../handlers/control/start_channel_handler.py      |  0
 .../handlers/control/start_worker_handler.py       |  0
 .../handlers/control/update_executor_handler.py    |  0
 .../python/core/architecture/managers/__init__.py  |  0
 .../managers/console_message_manager.py            |  0
 .../python/core/architecture/managers/context.py   |  0
 .../core/architecture/managers/debug_manager.py    |  0
 .../managers/embedded_control_message_manager.py   |  0
 .../architecture/managers/exception_manager.py     |  0
 .../core/architecture/managers/executor_manager.py |  0
 .../core/architecture/managers/pause_manager.py    |  0
 .../core/architecture/managers/state_manager.py    |  0
 .../managers/state_processing_manager.py           |  0
 .../architecture/managers/statistics_manager.py    |  0
 .../architecture/managers/test_pause_manager.py    |  0
 .../architecture/managers/test_state_manager.py    |  0
 .../managers/tuple_processing_manager.py           |  0
 .../python/core/architecture/packaging/__init__.py |  0
 .../core/architecture/packaging/input_manager.py   |  0
 .../core/architecture/packaging/output_manager.py  |  0
 .../core/architecture/rpc/async_rpc_client.py      |  0
 .../rpc/async_rpc_handler_initializer.py           |  0
 .../core/architecture/rpc/async_rpc_server.py      |  0
 .../core/architecture/sendsemantics/__init__.py    |  0
 .../sendsemantics/broad_cast_partitioner.py        |  0
 .../hash_based_shuffle_partitioner.py              |  0
 .../sendsemantics/one_to_one_partitioner.py        |  0
 .../core/architecture/sendsemantics/partitioner.py |  0
 .../range_based_shuffle_partitioner.py             |  0
 .../sendsemantics/round_robin_partitioner.py       |  0
 .../src/main/python/core/models/RTableExecutor.py  |  0
 .../src/main/python/core/models/RTupleExecutor.py  |  0
 .../src/main/python/core/models/__init__.py        |  0
 .../src/main/python/core/models/batch.py           |  0
 .../src/main/python/core/models/internal_marker.py |  0
 .../src/main/python/core/models/internal_queue.py  |  0
 .../src/main/python/core/models/operator.py        |  0
 .../src/main/python/core/models/payload.py         |  0
 .../src/main/python/core/models/r_utils.py         |  0
 .../src/main/python/core/models/schema/__init__.py |  0
 .../python/core/models/schema/attribute_type.py    |  0
 .../src/main/python/core/models/schema/field.py    |  0
 .../src/main/python/core/models/schema/schema.py   |  0
 .../main/python/core/models/schema/test_schema.py  |  0
 .../main/python/core/models/single_blocking_io.py  |  0
 .../src/main/python/core/models/state.py           |  0
 .../src/main/python/core/models/table.py           |  0
 .../main/python/core/models/test_RTableExecutor.py |  0
 .../src/main/python/core/models/test_table.py      |  0
 .../src/main/python/core/models/test_tuple.py      |  0
 .../src/main/python/core/models/tuple.py           |  0
 .../src/main/python/core/proxy/__init__.py         |  0
 .../src/main/python/core/proxy/proxy_client.py     |  0
 .../src/main/python/core/proxy/proxy_server.py     |  0
 .../main/python/core/proxy/test_proxy_client.py    |  0
 .../main/python/core/proxy/test_proxy_server.py    |  0
 .../src/main/python/core/python_worker.py          |  0
 .../src/main/python/core/runnables/__init__.py     |  0
 .../main/python/core/runnables/data_processor.py   |  0
 .../src/main/python/core/runnables/heartbeat.py    |  0
 .../src/main/python/core/runnables/main_loop.py    |  0
 .../main/python/core/runnables/network_receiver.py |  0
 .../main/python/core/runnables/network_sender.py   |  0
 .../python/core/runnables/test_console_message.py  |  0
 .../main/python/core/runnables/test_main_loop.py   |  0
 .../python/core/runnables/test_network_receiver.py |  0
 .../python/core/runnables/test_network_sender.py   |  0
 .../src/main/python/core/storage/__init__.py       |  0
 .../main/python/core/storage/document_factory.py   |  0
 .../main/python/core/storage/iceberg/__init__.py   |  0
 .../storage/iceberg/iceberg_catalog_instance.py    |  0
 .../core/storage/iceberg/iceberg_document.py       |  0
 .../core/storage/iceberg/iceberg_table_writer.py   |  0
 .../python/core/storage/iceberg/iceberg_utils.py   |  0
 .../core/storage/iceberg/test_iceberg_document.py  |  2 +-
 .../src/main/python/core/storage/model/__init__.py |  0
 .../core/storage/model/buffered_item_writer.py     |  0
 .../storage/model/readonly_virtual_document.py     |  0
 .../python/core/storage/model/virtual_document.py  |  0
 .../main/python/core/storage/runnables/__init__.py |  0
 .../input_port_materialization_reader_runnable.py  |  0
 .../core/storage/runnables/port_storage_writer.py  |  0
 .../src/main/python/core/storage/storage_config.py |  0
 .../main/python/core/storage/vfs_uri_factory.py    |  0
 .../src/main/python/core/util/__init__.py          |  0
 .../main/python/core/util/buffer/buffer_base.py    |  0
 .../main/python/core/util/buffer/timed_buffer.py   |  0
 .../core/util/console_message/replace_print.py     |  0
 .../core/util/console_message/timed_buffer.py      |  0
 .../python/core/util/console_message/timestamp.py  |  0
 .../python/core/util/customized_queue/__init__.py  |  0
 .../util/customized_queue/double_blocking_queue.py |  0
 .../python/core/util/customized_queue/inner.py     |  0
 .../linked_blocking_multi_queue.py                 |  0
 .../core/util/customized_queue/queue_base.py       |  0
 .../test_linked_blocking_multi_queue.py            |  0
 .../core/util/expression_evaluator/__init__.py     |  0
 .../test_expression_evaluator.py                   |  0
 .../src/main/python/core/util/operator/__init__.py |  0
 .../src/main/python/core/util/proto/__init__.py    |  0
 .../python/core/util/protocol/base_protocols.py    |  0
 .../src/main/python/core/util/runnable/runnable.py |  0
 .../main/python/core/util/stoppable/__init__.py    |  0
 .../main/python/core/util/stoppable/stoppable.py   |  0
 .../stoppable/stoppable_queue_blocking_thread.py   |  0
 .../src/main/python/core/util/thread/__init__.py   |  0
 .../src/main/python/core/util/thread/atomic.py     |  0
 .../python/core/util/virtual_identity/__init__.py  |  0
 .../src/main/python/proto/__init__.py              |  0
 .../src/main/python/proto/org/__init__.py          |  0
 .../src/main/python/proto/org/apache/__init__.py   |  0
 .../main/python/proto/org/apache/amber/__init__.py |  0
 .../python/proto/org/apache/amber/core/__init__.py |  0
 .../proto/org/apache/amber/engine/__init__.py      |  0
 .../apache/amber/engine/architecture/__init__.py   |  0
 .../amber/engine/architecture/rpc/__init__.py      |  0
 .../engine/architecture/sendsemantics/__init__.py  |  0
 .../amber/engine/architecture/worker/__init__.py   |  0
 .../org/apache/amber/engine/common/__init__.py     |  0
 .../python/proto/org/apache/texera/__init__.py     |  0
 .../python/proto/org/apache/texera/web/__init__.py |  0
 .../src/main/python/proto/scalapb/__init__.py      |  0
 .../src/main/python/pyamber/__init__.py            |  0
 .../src/main/python/pytexera/__init__.py           |  0
 .../src/main/python/pytexera/storage/__init__.py   |  0
 .../pytexera/storage/dataset_file_document.py      |  0
 .../src/main/python/pytexera/udf/__init__.py       |  0
 .../main/python/pytexera/udf/examples/__init__.py  |  0
 .../pytexera/udf/examples/count_batch_operator.py  |  0
 .../python/pytexera/udf/examples/echo_operator.py  |  0
 .../pytexera/udf/examples/echo_table_operator.py   |  0
 .../udf/examples/generator_operator_binary.py      |  0
 .../udf/examples/generator_operator_integer.py     |  0
 .../python/pytexera/udf/examples/join_operator.py  |  0
 .../pytexera/udf/examples/rudf/r_table_operator.py |  0
 .../pytexera/udf/examples/rudf/r_tuple_operator.py |  0
 .../udf/examples/test_count_batch_operator.py      |  0
 .../pytexera/udf/examples/test_echo_operator.py    |  0
 .../udf/examples/test_echo_table_operator.py       |  0
 .../udf/examples/test_generator_operator_binary.py |  0
 .../examples/test_generator_operator_integer.py    |  0
 .../src/main/python/pytexera/udf/udf_operator.py   |  0
 .../src/main/python/texera_run_python_worker.py    |  0
 {core/amber => amber}/src/main/resources/cache.ccf |  0
 .../resources/computing-unit-master-config.yml     |  0
 .../src/main/resources/gmail/.gitkeep              |  0
 .../amber => amber}/src/main/resources/logback.xml |  0
 .../texera-compiling-service-web-config.yml        |  0
 .../src/main/resources/web-config.yml              |  0
 .../apache/amber/clustering/ClusterListener.scala  |  0
 .../amber/clustering/SingleNodeListener.scala      |  0
 .../common/AkkaActorRefMappingService.scala        |  0
 .../architecture/common/AkkaActorService.scala     |  0
 .../common/AkkaMessageTransferService.scala        |  0
 .../architecture/common/AmberProcessor.scala       |  0
 .../architecture/common/ExecutorDeployment.scala   |  0
 .../architecture/common/ProcessingStepCursor.scala |  0
 .../engine/architecture/common/WorkflowActor.scala |  0
 .../architecture/controller/ClientEvent.scala      |  0
 .../architecture/controller/Controller.scala       |  0
 .../ControllerAsyncRPCHandlerInitializer.scala     |  0
 .../controller/ControllerProcessor.scala           |  0
 .../controller/ControllerTimerService.scala        |  0
 .../controller/GlobalReplayManager.scala           |  0
 .../engine/architecture/controller/Workflow.scala  |  0
 .../controller/WorkflowScheduler.scala             |  0
 .../controller/execution/ChannelExecution.scala    |  0
 .../controller/execution/ExecutionUtils.scala      |  0
 .../controller/execution/LinkExecution.scala       |  0
 .../controller/execution/OperatorExecution.scala   |  0
 .../controller/execution/RegionExecution.scala     |  0
 .../controller/execution/WorkerPortExecution.scala |  0
 .../controller/execution/WorkflowExecution.scala   |  0
 .../promisehandlers/ConsoleMessageHandler.scala    |  0
 .../promisehandlers/DebugCommandHandler.scala      |  0
 .../EmbeddedControlMessageHandler.scala            |  0
 .../EvaluatePythonExpressionHandler.scala          |  0
 .../promisehandlers/LinkWorkersHandler.scala       |  0
 .../controller/promisehandlers/PauseHandler.scala  |  0
 .../promisehandlers/PortCompletedHandler.scala     |  0
 .../QueryWorkerStatisticsHandler.scala             |  0
 .../controller/promisehandlers/ResumeHandler.scala |  0
 .../RetrieveWorkflowStateHandler.scala             |  0
 .../promisehandlers/RetryWorkflowHandler.scala     |  0
 .../promisehandlers/StartWorkflowHandler.scala     |  0
 .../TakeGlobalCheckpointHandler.scala              |  0
 .../WorkerExecutionCompletedHandler.scala          |  0
 .../WorkerStateUpdatedHandler.scala                |  0
 .../architecture/deploysemantics/AddressInfo.scala |  0
 .../deploystrategy/DeployStrategy.scala            |  0
 .../deploysemantics/deploystrategy/OneOnEach.scala |  0
 .../deploystrategy/RandomDeployment.scala          |  0
 .../deploystrategy/RoundRobinDeployment.scala      |  0
 .../deploysemantics/layer/WorkerExecution.scala    |  0
 .../logreplay/AsyncReplayLogWriter.scala           |  0
 .../architecture/logreplay/EmptyReplayLogger.scala |  0
 .../architecture/logreplay/OrderEnforcer.scala     |  0
 .../logreplay/ReplayLogGenerator.scala             |  0
 .../architecture/logreplay/ReplayLogManager.scala  |  0
 .../architecture/logreplay/ReplayLogger.scala      |  0
 .../architecture/logreplay/ReplayLoggerImpl.scala  |  0
 .../logreplay/ReplayOrderEnforcer.scala            |  0
 .../messaginglayer/AmberFIFOChannel.scala          |  0
 .../messaginglayer/CongestionControl.scala         |  0
 .../messaginglayer/DeadLetterMonitorActor.scala    |  0
 .../architecture/messaginglayer/FlowControl.scala  |  0
 .../architecture/messaginglayer/InputGateway.scala |  0
 .../architecture/messaginglayer/InputManager.scala |  0
 .../messaginglayer/NetworkInputGateway.scala       |  0
 .../messaginglayer/NetworkOutputGateway.scala      |  0
 .../messaginglayer/OrderingEnforcer.scala          |  0
 .../messaginglayer/OutputManager.scala             |  0
 .../architecture/messaginglayer/WorkerPort.scala   |  0
 .../messaginglayer/WorkerTimerService.scala        |  0
 .../pythonworker/PythonProxyClient.scala           |  0
 .../pythonworker/PythonProxyServer.scala           |  0
 .../pythonworker/PythonWorkflowWorker.scala        |  0
 .../pythonworker/WorkerBatchInternalQueue.scala    |  0
 .../scheduling/CostBasedScheduleGenerator.scala    |  0
 .../architecture/scheduling/CostEstimator.scala    |  0
 .../ExpansionGreedyScheduleGenerator.scala         |  0
 .../engine/architecture/scheduling/Region.scala    |  0
 .../scheduling/RegionExecutionCoordinator.scala    |  0
 .../architecture/scheduling/RegionPlan.scala       |  0
 .../engine/architecture/scheduling/Schedule.scala  |  0
 .../scheduling/ScheduleGenerator.scala             |  0
 .../architecture/scheduling/SchedulingUtils.scala  |  0
 .../scheduling/WorkflowExecutionCoordinator.scala  |  0
 .../scheduling/config/ChannelConfig.scala          |  0
 .../scheduling/config/LinkConfig.scala             |  0
 .../scheduling/config/OperatorConfig.scala         |  0
 .../scheduling/config/PortConfig.scala             |  0
 .../scheduling/config/ResourceConfig.scala         |  0
 .../scheduling/config/WorkerConfig.scala           |  0
 .../resourcePolicies/ExecutionClusterInfo.scala    |  0
 .../resourcePolicies/ResourceAllocator.scala       |  0
 .../partitioners/BroadcastPartitioner.scala        |  0
 .../partitioners/HashBasedShufflePartitioner.scala |  0
 .../partitioners/OneToOnePartitioner.scala         |  0
 .../sendsemantics/partitioners/Partitioner.scala   |  0
 .../RangeBasedShufflePartitioner.scala             |  0
 .../partitioners/RoundRobinPartitioner.scala       |  0
 .../engine/architecture/worker/DPThread.scala      |  0
 .../engine/architecture/worker/DataProcessor.scala |  0
 .../DataProcessorRPCHandlerInitializer.scala       |  0
 .../worker/EmbeddedControlMessageManager.scala     |  0
 .../engine/architecture/worker/PauseManager.scala  |  0
 .../engine/architecture/worker/PauseType.scala     |  0
 .../architecture/worker/WorkflowWorker.scala       |  0
 .../InputPortMaterializationReaderThread.scala     |  0
 .../managers/OutputPortResultWriterThread.scala    |  0
 .../worker/managers/SerializationManager.scala     |  0
 .../worker/managers/StatisticsManager.scala        |  0
 .../promisehandlers/AddInputChannelHandler.scala   |  0
 .../promisehandlers/AddPartitioningHandler.scala   |  0
 .../worker/promisehandlers/AssignPortHandler.scala |  0
 .../worker/promisehandlers/EndChannelHandler.scala |  0
 .../worker/promisehandlers/EndHandler.scala        |  0
 .../FinalizeCheckpointHandler.scala                |  0
 .../FlushNetworkBufferHandler.scala                |  0
 .../InitializeExecutorHandler.scala                |  0
 .../promisehandlers/OpenExecutorHandler.scala      |  0
 .../worker/promisehandlers/PauseHandler.scala      |  0
 .../promisehandlers/PrepareCheckpointHandler.scala |  0
 .../promisehandlers/QueryStatisticsHandler.scala   |  0
 .../worker/promisehandlers/ResumeHandler.scala     |  0
 .../promisehandlers/RetrieveStateHandler.scala     |  0
 .../promisehandlers/StartChannelHandler.scala      |  0
 .../worker/promisehandlers/StartHandler.scala      |  0
 .../apache/amber/engine/common/AmberConfig.scala   |  0
 .../amber/engine/common/AmberKryoInitializer.scala |  0
 .../apache/amber/engine/common/AmberLogging.scala  |  0
 .../apache/amber/engine/common/AmberRuntime.scala  |  0
 .../amber/engine/common/CheckpointState.scala      |  0
 .../amber/engine/common/CheckpointSupport.scala    |  0
 .../amber/engine/common/ElidableStatement.scala    |  0
 .../amber/engine/common/FutureBijection.scala      |  0
 .../amber/engine/common/SerializedState.scala      |  0
 .../org/apache/amber/engine/common/Utils.scala     |  2 +-
 .../amberexception/BreakpointException.scala       |  0
 .../engine/common/ambermessage/DataPayload.scala   |  0
 .../ambermessage/DirectControlMessagePayload.scala |  0
 .../common/ambermessage/RecoveryPayload.scala      |  0
 .../ambermessage/WorkflowFIFOMessagePayload.scala  |  0
 .../common/ambermessage/WorkflowMessage.scala      |  0
 .../amber/engine/common/client/AmberClient.scala   |  0
 .../amber/engine/common/client/ClientActor.scala   |  0
 .../amber/engine/common/rpc/AsyncRPCClient.scala   |  0
 .../common/rpc/AsyncRPCHandlerInitializer.scala    |  0
 .../amber/engine/common/rpc/AsyncRPCServer.scala   |  0
 .../common/statetransition/StateManager.scala      |  0
 .../statetransition/WorkerStateManager.scala       |  0
 .../engine/common/storage/EmptyRecordStorage.scala |  0
 .../engine/common/storage/HDFSRecordStorage.scala  |  0
 .../common/storage/SequentialRecordStorage.scala   |  0
 .../engine/common/storage/VFSRecordStorage.scala   |  0
 .../amber/engine/common/virtualidentity/util.scala |  0
 .../scala/org/apache/amber/error/ErrorUtils.scala  |  0
 .../apache/texera/web/ComputingUnitMaster.scala    |  0
 .../apache/texera/web/ComputingUnitWorker.scala    |  0
 .../texera/web/ServletAwareConfigurator.scala      |  0
 .../scala/org/apache/texera/web/SessionState.scala |  0
 .../apache/texera/web/SubscriptionManager.scala    |  0
 .../apache/texera/web/TexeraWebApplication.scala   |  0
 .../apache/texera/web/TexeraWebConfiguration.java  |  0
 .../org/apache/texera/web/WebsocketInput.scala     |  0
 .../texera/web/WorkflowLifecycleManager.scala      |  0
 .../apache/texera/web/auth/GuestAuthFilter.scala   |  0
 .../scala/org/apache/texera/web/auth/JwtAuth.scala |  0
 .../apache/texera/web/auth/UserAuthenticator.scala |  0
 .../texera/web/auth/UserRoleAuthorizer.scala       |  0
 .../model/collab/event/CollabWebSocketEvent.scala  |  0
 .../web/model/collab/event/CommandEvent.scala      |  0
 .../web/model/collab/event/LockGrantedEvent.scala  |  0
 .../web/model/collab/event/LockRejectedEvent.scala |  0
 .../web/model/collab/event/ReleaseLockEvent.scala  |  0
 .../model/collab/event/RestoreVersionEvent.scala   |  0
 .../model/collab/event/WorkflowAccessEvent.scala   |  0
 .../model/collab/request/AcquireLockRequest.scala  |  0
 .../collab/request/CollabWebSocketRequest.scala    |  0
 .../web/model/collab/request/CommandRequest.scala  |  0
 .../model/collab/request/HeartBeatRequest.scala    |  0
 .../collab/request/RestoreVersionRequest.scala     |  0
 .../web/model/collab/request/TryLockRequest.scala  |  0
 .../web/model/collab/request/WIdRequest.scala      |  0
 .../model/collab/response/HeartBeatResponse.scala  |  0
 .../texera/web/model/common/AccessEntry.scala      |  0
 .../model/http/request/auth/UserLoginRequest.scala |  0
 .../request/auth/UserRegistrationRequest.scala     |  0
 .../http/request/result/ResultExportRequest.scala  |  0
 .../http/response/SchemaPropagationResponse.scala  |  0
 .../model/http/response/TokenIssueResponse.scala   |  0
 .../response/result/ResultExportResponse.scala     |  0
 .../websocket/event/CacheStatusUpdateEvent.scala   |  0
 .../event/ExecutionDurationUpdateEvent.scala       |  0
 .../websocket/event/ExecutionStatusEnum.scala      |  0
 .../event/OperatorStatisticsUpdateEvent.scala      |  0
 .../websocket/event/PaginatedResultEvent.scala     |  0
 .../websocket/event/TexeraWebSocketEvent.scala     |  0
 .../websocket/event/WebResultUpdateEvent.scala     |  0
 .../event/WorkerAssignmentUpdateEvent.scala        |  0
 .../event/WorkflowAvailableResultEvent.scala       |  0
 .../model/websocket/event/WorkflowErrorEvent.scala |  0
 .../model/websocket/event/WorkflowStateEvent.scala |  0
 .../event/python/ConsoleUpdateEvent.scala          |  0
 .../request/EditingTimeCompilationRequest.scala    |  0
 .../model/websocket/request/HeartBeatRequest.scala |  0
 .../websocket/request/ModifyLogicRequest.scala     |  0
 .../request/ResultPaginationRequest.scala          |  0
 .../web/model/websocket/request/RetryRequest.scala |  0
 .../model/websocket/request/SkipTupleRequest.scala |  0
 .../websocket/request/TexeraWebSocketRequest.scala |  0
 .../request/WorkflowCheckpointRequest.scala        |  0
 .../websocket/request/WorkflowExecuteRequest.scala |  0
 .../websocket/request/WorkflowKillRequest.scala    |  0
 .../websocket/request/WorkflowPauseRequest.scala   |  0
 .../websocket/request/WorkflowResumeRequest.scala  |  0
 .../request/python/DebugCommandRequest.scala       |  0
 .../python/PythonExpressionEvaluateRequest.scala   |  0
 .../response/ClusterStatusUpdateEvent.scala        |  0
 .../websocket/response/HeartBeatResponse.scala     |  0
 .../websocket/response/ModifyLogicResponse.scala   |  0
 .../python/PythonExpressionEvaluateResponse.scala  |  0
 .../web/resource/CollaborationResource.scala       |  0
 .../apache/texera/web/resource/EmailTemplate.scala |  0
 .../apache/texera/web/resource/GmailResource.scala |  0
 .../texera/web/resource/HealthCheckResource.scala  |  0
 .../web/resource/MockKillWorkerResource.scala      |  0
 .../web/resource/SuccessExecutionResult.scala      |  0
 .../web/resource/SystemMetadataResource.scala      |  0
 .../texera/web/resource/UserConfigResource.scala   |  0
 .../web/resource/WebsocketPayloadSizeTuner.scala   |  0
 .../web/resource/WorkflowWebsocketResource.scala   |  0
 .../resource/aiassistant/AiAssistantManager.scala  |  0
 .../resource/aiassistant/AiAssistantResource.scala |  0
 .../aiassistant/test_type_annotation_visitor.py    |  0
 .../aiassistant/type_annotation_visitor.py         |  0
 .../texera/web/resource/auth/AuthResource.scala    |  0
 .../web/resource/auth/GoogleAuthResource.scala     |  0
 .../web/resource/dashboard/DashboardResource.scala |  0
 .../dashboard/DatasetSearchQueryBuilder.scala      |  0
 .../dashboard/FulltextSearchQueryUtils.scala       |  0
 .../dashboard/ProjectSearchQueryBuilder.scala      |  0
 .../resource/dashboard/SearchQueryBuilder.scala    |  0
 .../resource/dashboard/UnifiedResourceSchema.scala |  0
 .../dashboard/WorkflowSearchQueryBuilder.scala     |  0
 .../admin/execution/AdminExecutionResource.scala   |  0
 .../admin/settings/AdminSettingsResource.scala     |  0
 .../dashboard/admin/user/AdminUserResource.scala   |  0
 .../web/resource/dashboard/hub/ActionType.scala    |  0
 .../web/resource/dashboard/hub/EntityTables.scala  |  0
 .../web/resource/dashboard/hub/EntityType.scala    |  0
 .../web/resource/dashboard/hub/HubResource.scala   |  0
 .../dashboard/user/dataset/DatasetResource.scala   |  0
 .../dataset/utils/DatasetStatisticsUtils.scala     |  0
 .../user/project/ProjectAccessResource.scala       |  0
 .../dashboard/user/project/ProjectResource.scala   |  0
 .../user/project/PublicProjectResource.scala       |  0
 .../dashboard/user/quota/UserQuotaResource.scala   |  0
 .../user/workflow/WorkflowAccessResource.scala     |  0
 .../user/workflow/WorkflowExecutionsResource.scala |  0
 .../dashboard/user/workflow/WorkflowResource.scala |  0
 .../user/workflow/WorkflowVersionResource.scala    |  0
 .../web/service/EmailNotificationService.scala     |  0
 .../web/service/ExecutionConsoleService.scala      |  0
 .../service/ExecutionReconfigurationService.scala  |  0
 .../web/service/ExecutionResultService.scala       |  0
 .../web/service/ExecutionRuntimeService.scala      |  0
 .../texera/web/service/ExecutionStatsService.scala |  0
 .../service/ExecutionsMetadataPersistService.scala |  0
 .../service/FriesReconfigurationAlgorithm.scala    |  0
 .../texera/web/service/ResultExportService.scala   |  0
 .../texera/web/service/WorkflowEmailNotifier.scala |  0
 .../web/service/WorkflowExecutionService.scala     |  0
 .../texera/web/service/WorkflowService.scala       |  0
 .../storage/ExecutionReconfigurationStore.scala    |  0
 .../texera/web/storage/ExecutionStateStore.scala   |  0
 .../org/apache/texera/web/storage/StateStore.scala |  0
 .../texera/web/storage/WorkflowStateStore.scala    |  0
 .../org/apache/texera/workflow/LogicalLink.scala   |  0
 .../org/apache/texera/workflow/LogicalPlan.scala   |  0
 .../apache/texera/workflow/WorkflowCompiler.scala  |  0
 .../GitVersionControlLocalFileStorageSpec.java     |  0
 .../breakpoint/ExceptionBreakpointSpec.scala       |  0
 .../architecture/control/TrivialControlSpec.scala  |  0
 .../architecture/control/utils/ChainHandler.scala  |  0
 .../control/utils/CollectHandler.scala             |  0
 .../architecture/control/utils/ErrorHandler.scala  |  0
 .../control/utils/MultiCallHandler.scala           |  0
 .../architecture/control/utils/NestedHandler.scala |  0
 .../control/utils/PingPongHandler.scala            |  0
 .../control/utils/RecursionHandler.scala           |  0
 .../utils/TesterAsyncRPCHandlerInitializer.scala   |  0
 .../control/utils/TrivialControlTester.scala       |  0
 .../architecture/controller/ControllerSpec.scala   |  0
 .../messaginglayer/NetworkInputGatewaySpec.scala   |  0
 .../messaginglayer/OutputManagerSpec.scala         |  0
 .../messaginglayer/RangeBasedShuffleSpec.scala     |  0
 .../pythonworker/PythonWorkflowWorkerSpec.scala    |  0
 .../CostBasedScheduleGeneratorSpec.scala           |  0
 .../scheduling/DefaultCostEstimatorSpec.scala      |  0
 .../ExpansionGreedyScheduleGeneratorSpec.scala     |  0
 .../engine/architecture/worker/DPThreadSpec.scala  |  0
 .../architecture/worker/DataProcessorSpec.scala    |  0
 .../engine/architecture/worker/WorkerSpec.scala    |  0
 .../engine/e2e/BatchSizePropagationSpec.scala      |  0
 .../amber/engine/e2e/DataProcessingSpec.scala      |  0
 .../org/apache/amber/engine/e2e/PauseSpec.scala    |  0
 .../org/apache/amber/engine/e2e/TestUtils.scala    |  0
 .../engine/faulttolerance/CheckpointSpec.scala     |  0
 .../amber/engine/faulttolerance/LoggingSpec.scala  |  0
 .../amber/engine/faulttolerance/ReplaySpec.scala   |  0
 .../dashboard/file/WorkflowResourceSpec.scala      |  0
 .../workflow/WorkflowExecutionsResourceSpec.scala  |  0
 .../workflow/WorkflowVersionResourceSpec.scala     |  0
 .../web/service/ExecutionConsoleServiceSpec.scala  |  0
 .../web/service/ExecutionResultServiceSpec.scala   |  0
 .../storage/ReadonlyLocalFileDocumentSpec.scala    |  0
 bin/python-proto-gen.sh                            |  2 +-
 build.sbt                                          |  2 +-
 .../org/apache/amber/config/StorageConfig.scala    |  7 +-
 .../scala/org/apache/amber/util/PathUtils.scala    | 84 ----------------------
 .../core/storage/model/DatasetFileDocument.scala   | 16 ++++-
 .../org/apache/amber/operator/LogicalOp.scala      |  2 +-
 .../org/apache/amber/operator/TestOperators.scala  |  9 ++-
 .../apache/amber/operator/metadata/OPVersion.java  |  4 +-
 deployment/computing-unit-master.dockerfile        | 14 ++--
 deployment/computing-unit-worker.dockerfile        | 10 +--
 deployment/single-node/docker-compose.yml          |  4 +-
 deployment/texera-web-application.dockerfile       |  6 +-
 frontend/src/app/common/type/user.ts               |  4 +-
 518 files changed, 63 insertions(+), 128 deletions(-)

diff --git a/.github/labeler.yml b/.github/labeler.yml
index 2d14f53154..6e1db1d99c 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -34,12 +34,12 @@ service:
 engine:
   - changed-files:
       - any-glob-to-any-file:
-          - 'core/amber/**'
+          - 'amber/**'
 
 python:
   - changed-files:
       - any-glob-to-any-file:
-          - 'core/amber/src/main/python/**'
+          - 'amber/src/main/python/**'
           - '**/*.py'
 
 docs:
diff --git a/.github/workflows/github-action-build.yml b/.github/workflows/github-action-build.yml
index febe39e5b9..b88372e7ac 100644
--- a/.github/workflows/github-action-build.yml
+++ b/.github/workflows/github-action-build.yml
@@ -140,8 +140,8 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          if [ -f core/amber/requirements.txt ]; then pip install -r core/amber/requirements.txt; fi
-          if [ -f core/amber/operator-requirements.txt ]; then pip install -r core/amber/operator-requirements.txt; fi
+          if [ -f amber/requirements.txt ]; then pip install -r amber/requirements.txt; fi
+          if [ -f amber/operator-requirements.txt ]; then pip install -r amber/operator-requirements.txt; fi
       - name: Install PostgreSQL
         run: sudo apt-get update && sudo apt-get install -y postgresql
       - name: Start PostgreSQL Service
@@ -151,7 +151,7 @@ jobs:
           cd bin/sql && sudo -u postgres psql -f iceberg_postgres_catalog.sql
       - name: Lint with flake8 and black
         run: |
-          cd core/amber/src/main/python && flake8 && black . --check
+          cd amber/src/main/python && flake8 && black . --check
       - name: Test with pytest
         run: |
-          cd core/amber/src/main/python && pytest -sv --ignore=core/models/test_RTableExecutor.py
+          cd amber/src/main/python && pytest -sv --ignore=core/models/test_RTableExecutor.py
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ab2b0679ec..c7ee791daf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -61,10 +61,10 @@ Do not include any of the following in your PR:
 - To check format, under `core` run command `sbt scalafmtCheckAll`; to fix format, run `sbt scalafmtAll`. 
 - When you need to execute both, scalafmt is supposed to be executed after scalafix.
 #### Testing the backend
-1. The test framework is `scalatest`, for the amber engine, tests are located under `core/amber/src/test`; for `WorkflowCompilingService`, tests are located under `core/workflow-compiling-service`. You can find unit tests and e2e tests.
+1. The test framework is `scalatest`, for the amber engine, tests are located under `amber/src/test`; for `WorkflowCompilingService`, tests are located under `core/workflow-compiling-service`. You can find unit tests and e2e tests.
 2. To execute it, navigate to `core` directory in the command line and execute `sbt test`.
 3. If using IntelliJ to execute the test cases please make sure to be at the correct working directory.
-* For the amber engine's tests, the working directory should be `core/amber`
+* For the amber engine's tests, the working directory should be `amber`
 * For the other services' tests, the working directory should be `core`
 #### Testing the frontend 
 Before merging your code to the master branch, you need to pass the existing unit tests first.
diff --git a/access-control-service/src/main/scala/org/apache/texera/service/AccessControlService.scala b/access-control-service/src/main/scala/org/apache/texera/service/AccessControlService.scala
index 790d7f56bf..bed201c713 100644
--- a/access-control-service/src/main/scala/org/apache/texera/service/AccessControlService.scala
+++ b/access-control-service/src/main/scala/org/apache/texera/service/AccessControlService.scala
@@ -23,12 +23,13 @@ import io.dropwizard.auth.AuthDynamicFeature
 import io.dropwizard.core.Application
 import io.dropwizard.core.setup.{Bootstrap, Environment}
 import org.apache.amber.config.StorageConfig
-import org.apache.amber.util.PathUtils.accessControlServicePath
 import org.apache.texera.auth.{JwtAuthFilter, SessionUser}
 import org.apache.texera.dao.SqlServer
 import org.apache.texera.service.resource.{AccessControlResource, HealthCheckResource}
 import org.eclipse.jetty.server.session.SessionHandler
 
+import java.nio.file.Path
+
 class AccessControlService extends Application[AccessControlServiceConfiguration] with LazyLogging {
   override def initialize(bootstrap: Bootstrap[AccessControlServiceConfiguration]): Unit = {
     // Register Scala module to Dropwizard default object mapper
@@ -65,7 +66,9 @@ class AccessControlService extends Application[AccessControlServiceConfiguration
 }
 object AccessControlService {
   def main(args: Array[String]): Unit = {
-    val accessControlPath = accessControlServicePath
+    val accessControlPath = Path
+      .of(sys.env.getOrElse("TEXERA_HOME", "."))
+      .resolve("access-control-service")
       .resolve("src")
       .resolve("main")
       .resolve("resources")
diff --git a/core/amber/.scalafix.conf b/amber/.scalafix.conf
similarity index 100%
rename from core/amber/.scalafix.conf
rename to amber/.scalafix.conf
diff --git a/core/amber/.scalafmt.conf b/amber/.scalafmt.conf
similarity index 100%
rename from core/amber/.scalafmt.conf
rename to amber/.scalafmt.conf
diff --git a/core/amber/DESCRIPTION b/amber/DESCRIPTION
similarity index 100%
rename from core/amber/DESCRIPTION
rename to amber/DESCRIPTION
diff --git a/core/amber/README.md b/amber/README.md
similarity index 100%
rename from core/amber/README.md
rename to amber/README.md
diff --git a/core/amber/build.sbt b/amber/build.sbt
similarity index 100%
rename from core/amber/build.sbt
rename to amber/build.sbt
diff --git a/core/amber/operator-requirements.txt b/amber/operator-requirements.txt
similarity index 100%
rename from core/amber/operator-requirements.txt
rename to amber/operator-requirements.txt
diff --git a/core/amber/project/build.properties b/amber/project/build.properties
similarity index 100%
rename from core/amber/project/build.properties
rename to amber/project/build.properties
diff --git a/core/amber/project/plugins.sbt b/amber/project/plugins.sbt
similarity index 100%
rename from core/amber/project/plugins.sbt
rename to amber/project/plugins.sbt
diff --git a/core/amber/r-requirements.txt b/amber/r-requirements.txt
similarity index 100%
rename from core/amber/r-requirements.txt
rename to amber/r-requirements.txt
diff --git a/core/amber/requirements.txt b/amber/requirements.txt
similarity index 100%
rename from core/amber/requirements.txt
rename to amber/requirements.txt
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlcommands.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlcommands.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlcommands.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlcommands.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controllerservice.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controllerservice.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controllerservice.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controllerservice.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlreturns.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlreturns.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlreturns.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/controlreturns.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/testerservice.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/testerservice.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/testerservice.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/testerservice.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/workerservice.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/workerservice.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/workerservice.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/rpc/workerservice.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/sendsemantics/partitionings.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/sendsemantics/partitionings.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/sendsemantics/partitionings.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/sendsemantics/partitionings.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/architecture/worker/statistics.proto b/amber/src/main/protobuf/org/apache/amber/engine/architecture/worker/statistics.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/architecture/worker/statistics.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/architecture/worker/statistics.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/common/actormessage.proto b/amber/src/main/protobuf/org/apache/amber/engine/common/actormessage.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/common/actormessage.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/common/actormessage.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/common/ambermessage.proto b/amber/src/main/protobuf/org/apache/amber/engine/common/ambermessage.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/common/ambermessage.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/common/ambermessage.proto
diff --git a/core/amber/src/main/protobuf/org/apache/amber/engine/common/executionruntimestate.proto b/amber/src/main/protobuf/org/apache/amber/engine/common/executionruntimestate.proto
similarity index 100%
rename from core/amber/src/main/protobuf/org/apache/amber/engine/common/executionruntimestate.proto
rename to amber/src/main/protobuf/org/apache/amber/engine/common/executionruntimestate.proto
diff --git a/core/amber/src/main/python/.flake8 b/amber/src/main/python/.flake8
similarity index 100%
rename from core/amber/src/main/python/.flake8
rename to amber/src/main/python/.flake8
diff --git a/core/amber/src/main/python/core/__init__.py b/amber/src/main/python/core/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/__init__.py
rename to amber/src/main/python/core/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/__init__.py b/amber/src/main/python/core/architecture/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/__init__.py
rename to amber/src/main/python/core/architecture/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/__init__.py b/amber/src/main/python/core/architecture/handlers/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/__init__.py
rename to amber/src/main/python/core/architecture/handlers/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/actorcommand/actor_handler_base.py b/amber/src/main/python/core/architecture/handlers/actorcommand/actor_handler_base.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/actorcommand/actor_handler_base.py
rename to amber/src/main/python/core/architecture/handlers/actorcommand/actor_handler_base.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/actorcommand/backpressure_handler.py b/amber/src/main/python/core/architecture/handlers/actorcommand/backpressure_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/actorcommand/backpressure_handler.py
rename to amber/src/main/python/core/architecture/handlers/actorcommand/backpressure_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/actorcommand/credit_update_handler.py b/amber/src/main/python/core/architecture/handlers/actorcommand/credit_update_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/actorcommand/credit_update_handler.py
rename to amber/src/main/python/core/architecture/handlers/actorcommand/credit_update_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/__init__.py b/amber/src/main/python/core/architecture/handlers/control/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/__init__.py
rename to amber/src/main/python/core/architecture/handlers/control/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/add_input_channel_handler.py b/amber/src/main/python/core/architecture/handlers/control/add_input_channel_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/add_input_channel_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/add_input_channel_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/add_partitioning_handler.py b/amber/src/main/python/core/architecture/handlers/control/add_partitioning_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/add_partitioning_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/add_partitioning_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/assign_port_handler.py b/amber/src/main/python/core/architecture/handlers/control/assign_port_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/assign_port_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/assign_port_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/control_handler_base.py b/amber/src/main/python/core/architecture/handlers/control/control_handler_base.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/control_handler_base.py
rename to amber/src/main/python/core/architecture/handlers/control/control_handler_base.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/debug_command_handler.py b/amber/src/main/python/core/architecture/handlers/control/debug_command_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/debug_command_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/debug_command_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/end_channel_handler.py b/amber/src/main/python/core/architecture/handlers/control/end_channel_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/end_channel_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/end_channel_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/end_worker_handler.py b/amber/src/main/python/core/architecture/handlers/control/end_worker_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/end_worker_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/end_worker_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/evaluate_expression_handler.py b/amber/src/main/python/core/architecture/handlers/control/evaluate_expression_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/evaluate_expression_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/evaluate_expression_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/initialize_executor_handler.py b/amber/src/main/python/core/architecture/handlers/control/initialize_executor_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/initialize_executor_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/initialize_executor_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/no_operation_handler.py b/amber/src/main/python/core/architecture/handlers/control/no_operation_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/no_operation_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/no_operation_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/open_executor_handler.py b/amber/src/main/python/core/architecture/handlers/control/open_executor_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/open_executor_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/open_executor_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/pause_worker_handler.py b/amber/src/main/python/core/architecture/handlers/control/pause_worker_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/pause_worker_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/pause_worker_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/query_statistics_handler.py b/amber/src/main/python/core/architecture/handlers/control/query_statistics_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/query_statistics_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/query_statistics_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/replay_current_tuple_handler.py b/amber/src/main/python/core/architecture/handlers/control/replay_current_tuple_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/replay_current_tuple_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/replay_current_tuple_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/resume_worker_handler.py b/amber/src/main/python/core/architecture/handlers/control/resume_worker_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/resume_worker_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/resume_worker_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/start_channel_handler.py b/amber/src/main/python/core/architecture/handlers/control/start_channel_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/start_channel_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/start_channel_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/start_worker_handler.py b/amber/src/main/python/core/architecture/handlers/control/start_worker_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/start_worker_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/start_worker_handler.py
diff --git a/core/amber/src/main/python/core/architecture/handlers/control/update_executor_handler.py b/amber/src/main/python/core/architecture/handlers/control/update_executor_handler.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/handlers/control/update_executor_handler.py
rename to amber/src/main/python/core/architecture/handlers/control/update_executor_handler.py
diff --git a/core/amber/src/main/python/core/architecture/managers/__init__.py b/amber/src/main/python/core/architecture/managers/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/__init__.py
rename to amber/src/main/python/core/architecture/managers/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/managers/console_message_manager.py b/amber/src/main/python/core/architecture/managers/console_message_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/console_message_manager.py
rename to amber/src/main/python/core/architecture/managers/console_message_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/context.py b/amber/src/main/python/core/architecture/managers/context.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/context.py
rename to amber/src/main/python/core/architecture/managers/context.py
diff --git a/core/amber/src/main/python/core/architecture/managers/debug_manager.py b/amber/src/main/python/core/architecture/managers/debug_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/debug_manager.py
rename to amber/src/main/python/core/architecture/managers/debug_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/embedded_control_message_manager.py b/amber/src/main/python/core/architecture/managers/embedded_control_message_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/embedded_control_message_manager.py
rename to amber/src/main/python/core/architecture/managers/embedded_control_message_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/exception_manager.py b/amber/src/main/python/core/architecture/managers/exception_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/exception_manager.py
rename to amber/src/main/python/core/architecture/managers/exception_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/executor_manager.py b/amber/src/main/python/core/architecture/managers/executor_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/executor_manager.py
rename to amber/src/main/python/core/architecture/managers/executor_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/pause_manager.py b/amber/src/main/python/core/architecture/managers/pause_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/pause_manager.py
rename to amber/src/main/python/core/architecture/managers/pause_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/state_manager.py b/amber/src/main/python/core/architecture/managers/state_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/state_manager.py
rename to amber/src/main/python/core/architecture/managers/state_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/state_processing_manager.py b/amber/src/main/python/core/architecture/managers/state_processing_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/state_processing_manager.py
rename to amber/src/main/python/core/architecture/managers/state_processing_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/statistics_manager.py b/amber/src/main/python/core/architecture/managers/statistics_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/statistics_manager.py
rename to amber/src/main/python/core/architecture/managers/statistics_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/test_pause_manager.py b/amber/src/main/python/core/architecture/managers/test_pause_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/test_pause_manager.py
rename to amber/src/main/python/core/architecture/managers/test_pause_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/test_state_manager.py b/amber/src/main/python/core/architecture/managers/test_state_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/test_state_manager.py
rename to amber/src/main/python/core/architecture/managers/test_state_manager.py
diff --git a/core/amber/src/main/python/core/architecture/managers/tuple_processing_manager.py b/amber/src/main/python/core/architecture/managers/tuple_processing_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/managers/tuple_processing_manager.py
rename to amber/src/main/python/core/architecture/managers/tuple_processing_manager.py
diff --git a/core/amber/src/main/python/core/architecture/packaging/__init__.py b/amber/src/main/python/core/architecture/packaging/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/packaging/__init__.py
rename to amber/src/main/python/core/architecture/packaging/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/packaging/input_manager.py b/amber/src/main/python/core/architecture/packaging/input_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/packaging/input_manager.py
rename to amber/src/main/python/core/architecture/packaging/input_manager.py
diff --git a/core/amber/src/main/python/core/architecture/packaging/output_manager.py b/amber/src/main/python/core/architecture/packaging/output_manager.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/packaging/output_manager.py
rename to amber/src/main/python/core/architecture/packaging/output_manager.py
diff --git a/core/amber/src/main/python/core/architecture/rpc/async_rpc_client.py b/amber/src/main/python/core/architecture/rpc/async_rpc_client.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/rpc/async_rpc_client.py
rename to amber/src/main/python/core/architecture/rpc/async_rpc_client.py
diff --git a/core/amber/src/main/python/core/architecture/rpc/async_rpc_handler_initializer.py b/amber/src/main/python/core/architecture/rpc/async_rpc_handler_initializer.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/rpc/async_rpc_handler_initializer.py
rename to amber/src/main/python/core/architecture/rpc/async_rpc_handler_initializer.py
diff --git a/core/amber/src/main/python/core/architecture/rpc/async_rpc_server.py b/amber/src/main/python/core/architecture/rpc/async_rpc_server.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/rpc/async_rpc_server.py
rename to amber/src/main/python/core/architecture/rpc/async_rpc_server.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/__init__.py b/amber/src/main/python/core/architecture/sendsemantics/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/__init__.py
rename to amber/src/main/python/core/architecture/sendsemantics/__init__.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/broad_cast_partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/broad_cast_partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/broad_cast_partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/broad_cast_partitioner.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/hash_based_shuffle_partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/hash_based_shuffle_partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/hash_based_shuffle_partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/hash_based_shuffle_partitioner.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/one_to_one_partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/one_to_one_partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/one_to_one_partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/one_to_one_partitioner.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/partitioner.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/range_based_shuffle_partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/range_based_shuffle_partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/range_based_shuffle_partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/range_based_shuffle_partitioner.py
diff --git a/core/amber/src/main/python/core/architecture/sendsemantics/round_robin_partitioner.py b/amber/src/main/python/core/architecture/sendsemantics/round_robin_partitioner.py
similarity index 100%
rename from core/amber/src/main/python/core/architecture/sendsemantics/round_robin_partitioner.py
rename to amber/src/main/python/core/architecture/sendsemantics/round_robin_partitioner.py
diff --git a/core/amber/src/main/python/core/models/RTableExecutor.py b/amber/src/main/python/core/models/RTableExecutor.py
similarity index 100%
rename from core/amber/src/main/python/core/models/RTableExecutor.py
rename to amber/src/main/python/core/models/RTableExecutor.py
diff --git a/core/amber/src/main/python/core/models/RTupleExecutor.py b/amber/src/main/python/core/models/RTupleExecutor.py
similarity index 100%
rename from core/amber/src/main/python/core/models/RTupleExecutor.py
rename to amber/src/main/python/core/models/RTupleExecutor.py
diff --git a/core/amber/src/main/python/core/models/__init__.py b/amber/src/main/python/core/models/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/models/__init__.py
rename to amber/src/main/python/core/models/__init__.py
diff --git a/core/amber/src/main/python/core/models/batch.py b/amber/src/main/python/core/models/batch.py
similarity index 100%
rename from core/amber/src/main/python/core/models/batch.py
rename to amber/src/main/python/core/models/batch.py
diff --git a/core/amber/src/main/python/core/models/internal_marker.py b/amber/src/main/python/core/models/internal_marker.py
similarity index 100%
rename from core/amber/src/main/python/core/models/internal_marker.py
rename to amber/src/main/python/core/models/internal_marker.py
diff --git a/core/amber/src/main/python/core/models/internal_queue.py b/amber/src/main/python/core/models/internal_queue.py
similarity index 100%
rename from core/amber/src/main/python/core/models/internal_queue.py
rename to amber/src/main/python/core/models/internal_queue.py
diff --git a/core/amber/src/main/python/core/models/operator.py b/amber/src/main/python/core/models/operator.py
similarity index 100%
rename from core/amber/src/main/python/core/models/operator.py
rename to amber/src/main/python/core/models/operator.py
diff --git a/core/amber/src/main/python/core/models/payload.py b/amber/src/main/python/core/models/payload.py
similarity index 100%
rename from core/amber/src/main/python/core/models/payload.py
rename to amber/src/main/python/core/models/payload.py
diff --git a/core/amber/src/main/python/core/models/r_utils.py b/amber/src/main/python/core/models/r_utils.py
similarity index 100%
rename from core/amber/src/main/python/core/models/r_utils.py
rename to amber/src/main/python/core/models/r_utils.py
diff --git a/core/amber/src/main/python/core/models/schema/__init__.py b/amber/src/main/python/core/models/schema/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/models/schema/__init__.py
rename to amber/src/main/python/core/models/schema/__init__.py
diff --git a/core/amber/src/main/python/core/models/schema/attribute_type.py b/amber/src/main/python/core/models/schema/attribute_type.py
similarity index 100%
rename from core/amber/src/main/python/core/models/schema/attribute_type.py
rename to amber/src/main/python/core/models/schema/attribute_type.py
diff --git a/core/amber/src/main/python/core/models/schema/field.py b/amber/src/main/python/core/models/schema/field.py
similarity index 100%
rename from core/amber/src/main/python/core/models/schema/field.py
rename to amber/src/main/python/core/models/schema/field.py
diff --git a/core/amber/src/main/python/core/models/schema/schema.py b/amber/src/main/python/core/models/schema/schema.py
similarity index 100%
rename from core/amber/src/main/python/core/models/schema/schema.py
rename to amber/src/main/python/core/models/schema/schema.py
diff --git a/core/amber/src/main/python/core/models/schema/test_schema.py b/amber/src/main/python/core/models/schema/test_schema.py
similarity index 100%
rename from core/amber/src/main/python/core/models/schema/test_schema.py
rename to amber/src/main/python/core/models/schema/test_schema.py
diff --git a/core/amber/src/main/python/core/models/single_blocking_io.py b/amber/src/main/python/core/models/single_blocking_io.py
similarity index 100%
rename from core/amber/src/main/python/core/models/single_blocking_io.py
rename to amber/src/main/python/core/models/single_blocking_io.py
diff --git a/core/amber/src/main/python/core/models/state.py b/amber/src/main/python/core/models/state.py
similarity index 100%
rename from core/amber/src/main/python/core/models/state.py
rename to amber/src/main/python/core/models/state.py
diff --git a/core/amber/src/main/python/core/models/table.py b/amber/src/main/python/core/models/table.py
similarity index 100%
rename from core/amber/src/main/python/core/models/table.py
rename to amber/src/main/python/core/models/table.py
diff --git a/core/amber/src/main/python/core/models/test_RTableExecutor.py b/amber/src/main/python/core/models/test_RTableExecutor.py
similarity index 100%
rename from core/amber/src/main/python/core/models/test_RTableExecutor.py
rename to amber/src/main/python/core/models/test_RTableExecutor.py
diff --git a/core/amber/src/main/python/core/models/test_table.py b/amber/src/main/python/core/models/test_table.py
similarity index 100%
rename from core/amber/src/main/python/core/models/test_table.py
rename to amber/src/main/python/core/models/test_table.py
diff --git a/core/amber/src/main/python/core/models/test_tuple.py b/amber/src/main/python/core/models/test_tuple.py
similarity index 100%
rename from core/amber/src/main/python/core/models/test_tuple.py
rename to amber/src/main/python/core/models/test_tuple.py
diff --git a/core/amber/src/main/python/core/models/tuple.py b/amber/src/main/python/core/models/tuple.py
similarity index 100%
rename from core/amber/src/main/python/core/models/tuple.py
rename to amber/src/main/python/core/models/tuple.py
diff --git a/core/amber/src/main/python/core/proxy/__init__.py b/amber/src/main/python/core/proxy/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/proxy/__init__.py
rename to amber/src/main/python/core/proxy/__init__.py
diff --git a/core/amber/src/main/python/core/proxy/proxy_client.py b/amber/src/main/python/core/proxy/proxy_client.py
similarity index 100%
rename from core/amber/src/main/python/core/proxy/proxy_client.py
rename to amber/src/main/python/core/proxy/proxy_client.py
diff --git a/core/amber/src/main/python/core/proxy/proxy_server.py b/amber/src/main/python/core/proxy/proxy_server.py
similarity index 100%
rename from core/amber/src/main/python/core/proxy/proxy_server.py
rename to amber/src/main/python/core/proxy/proxy_server.py
diff --git a/core/amber/src/main/python/core/proxy/test_proxy_client.py b/amber/src/main/python/core/proxy/test_proxy_client.py
similarity index 100%
rename from core/amber/src/main/python/core/proxy/test_proxy_client.py
rename to amber/src/main/python/core/proxy/test_proxy_client.py
diff --git a/core/amber/src/main/python/core/proxy/test_proxy_server.py b/amber/src/main/python/core/proxy/test_proxy_server.py
similarity index 100%
rename from core/amber/src/main/python/core/proxy/test_proxy_server.py
rename to amber/src/main/python/core/proxy/test_proxy_server.py
diff --git a/core/amber/src/main/python/core/python_worker.py b/amber/src/main/python/core/python_worker.py
similarity index 100%
rename from core/amber/src/main/python/core/python_worker.py
rename to amber/src/main/python/core/python_worker.py
diff --git a/core/amber/src/main/python/core/runnables/__init__.py b/amber/src/main/python/core/runnables/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/__init__.py
rename to amber/src/main/python/core/runnables/__init__.py
diff --git a/core/amber/src/main/python/core/runnables/data_processor.py b/amber/src/main/python/core/runnables/data_processor.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/data_processor.py
rename to amber/src/main/python/core/runnables/data_processor.py
diff --git a/core/amber/src/main/python/core/runnables/heartbeat.py b/amber/src/main/python/core/runnables/heartbeat.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/heartbeat.py
rename to amber/src/main/python/core/runnables/heartbeat.py
diff --git a/core/amber/src/main/python/core/runnables/main_loop.py b/amber/src/main/python/core/runnables/main_loop.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/main_loop.py
rename to amber/src/main/python/core/runnables/main_loop.py
diff --git a/core/amber/src/main/python/core/runnables/network_receiver.py b/amber/src/main/python/core/runnables/network_receiver.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/network_receiver.py
rename to amber/src/main/python/core/runnables/network_receiver.py
diff --git a/core/amber/src/main/python/core/runnables/network_sender.py b/amber/src/main/python/core/runnables/network_sender.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/network_sender.py
rename to amber/src/main/python/core/runnables/network_sender.py
diff --git a/core/amber/src/main/python/core/runnables/test_console_message.py b/amber/src/main/python/core/runnables/test_console_message.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/test_console_message.py
rename to amber/src/main/python/core/runnables/test_console_message.py
diff --git a/core/amber/src/main/python/core/runnables/test_main_loop.py b/amber/src/main/python/core/runnables/test_main_loop.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/test_main_loop.py
rename to amber/src/main/python/core/runnables/test_main_loop.py
diff --git a/core/amber/src/main/python/core/runnables/test_network_receiver.py b/amber/src/main/python/core/runnables/test_network_receiver.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/test_network_receiver.py
rename to amber/src/main/python/core/runnables/test_network_receiver.py
diff --git a/core/amber/src/main/python/core/runnables/test_network_sender.py b/amber/src/main/python/core/runnables/test_network_sender.py
similarity index 100%
rename from core/amber/src/main/python/core/runnables/test_network_sender.py
rename to amber/src/main/python/core/runnables/test_network_sender.py
diff --git a/core/amber/src/main/python/core/storage/__init__.py b/amber/src/main/python/core/storage/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/__init__.py
rename to amber/src/main/python/core/storage/__init__.py
diff --git a/core/amber/src/main/python/core/storage/document_factory.py b/amber/src/main/python/core/storage/document_factory.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/document_factory.py
rename to amber/src/main/python/core/storage/document_factory.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/__init__.py b/amber/src/main/python/core/storage/iceberg/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/iceberg/__init__.py
rename to amber/src/main/python/core/storage/iceberg/__init__.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/iceberg_catalog_instance.py b/amber/src/main/python/core/storage/iceberg/iceberg_catalog_instance.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/iceberg/iceberg_catalog_instance.py
rename to amber/src/main/python/core/storage/iceberg/iceberg_catalog_instance.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/iceberg_document.py b/amber/src/main/python/core/storage/iceberg/iceberg_document.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/iceberg/iceberg_document.py
rename to amber/src/main/python/core/storage/iceberg/iceberg_document.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/iceberg_table_writer.py b/amber/src/main/python/core/storage/iceberg/iceberg_table_writer.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/iceberg/iceberg_table_writer.py
rename to amber/src/main/python/core/storage/iceberg/iceberg_table_writer.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/iceberg_utils.py b/amber/src/main/python/core/storage/iceberg/iceberg_utils.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/iceberg/iceberg_utils.py
rename to amber/src/main/python/core/storage/iceberg/iceberg_utils.py
diff --git a/core/amber/src/main/python/core/storage/iceberg/test_iceberg_document.py b/amber/src/main/python/core/storage/iceberg/test_iceberg_document.py
similarity index 99%
rename from core/amber/src/main/python/core/storage/iceberg/test_iceberg_document.py
rename to amber/src/main/python/core/storage/iceberg/test_iceberg_document.py
index c6ecebc7fd..29e289bf93 100644
--- a/core/amber/src/main/python/core/storage/iceberg/test_iceberg_document.py
+++ b/amber/src/main/python/core/storage/iceberg/test_iceberg_document.py
@@ -41,7 +41,7 @@ StorageConfig.initialize(
     postgres_username="texera",
     postgres_password="password",
     table_result_namespace="operator-port-result",
-    directory_path="../../../../../../core/amber/user-resources/workflow-results",
+    directory_path="../../../../../../amber/user-resources/workflow-results",
     commit_batch_size=4096,
 )
 
diff --git a/core/amber/src/main/python/core/storage/model/__init__.py b/amber/src/main/python/core/storage/model/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/model/__init__.py
rename to amber/src/main/python/core/storage/model/__init__.py
diff --git a/core/amber/src/main/python/core/storage/model/buffered_item_writer.py b/amber/src/main/python/core/storage/model/buffered_item_writer.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/model/buffered_item_writer.py
rename to amber/src/main/python/core/storage/model/buffered_item_writer.py
diff --git a/core/amber/src/main/python/core/storage/model/readonly_virtual_document.py b/amber/src/main/python/core/storage/model/readonly_virtual_document.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/model/readonly_virtual_document.py
rename to amber/src/main/python/core/storage/model/readonly_virtual_document.py
diff --git a/core/amber/src/main/python/core/storage/model/virtual_document.py b/amber/src/main/python/core/storage/model/virtual_document.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/model/virtual_document.py
rename to amber/src/main/python/core/storage/model/virtual_document.py
diff --git a/core/amber/src/main/python/core/storage/runnables/__init__.py b/amber/src/main/python/core/storage/runnables/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/runnables/__init__.py
rename to amber/src/main/python/core/storage/runnables/__init__.py
diff --git a/core/amber/src/main/python/core/storage/runnables/input_port_materialization_reader_runnable.py b/amber/src/main/python/core/storage/runnables/input_port_materialization_reader_runnable.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/runnables/input_port_materialization_reader_runnable.py
rename to amber/src/main/python/core/storage/runnables/input_port_materialization_reader_runnable.py
diff --git a/core/amber/src/main/python/core/storage/runnables/port_storage_writer.py b/amber/src/main/python/core/storage/runnables/port_storage_writer.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/runnables/port_storage_writer.py
rename to amber/src/main/python/core/storage/runnables/port_storage_writer.py
diff --git a/core/amber/src/main/python/core/storage/storage_config.py b/amber/src/main/python/core/storage/storage_config.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/storage_config.py
rename to amber/src/main/python/core/storage/storage_config.py
diff --git a/core/amber/src/main/python/core/storage/vfs_uri_factory.py b/amber/src/main/python/core/storage/vfs_uri_factory.py
similarity index 100%
rename from core/amber/src/main/python/core/storage/vfs_uri_factory.py
rename to amber/src/main/python/core/storage/vfs_uri_factory.py
diff --git a/core/amber/src/main/python/core/util/__init__.py b/amber/src/main/python/core/util/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/__init__.py
rename to amber/src/main/python/core/util/__init__.py
diff --git a/core/amber/src/main/python/core/util/buffer/buffer_base.py b/amber/src/main/python/core/util/buffer/buffer_base.py
similarity index 100%
rename from core/amber/src/main/python/core/util/buffer/buffer_base.py
rename to amber/src/main/python/core/util/buffer/buffer_base.py
diff --git a/core/amber/src/main/python/core/util/buffer/timed_buffer.py b/amber/src/main/python/core/util/buffer/timed_buffer.py
similarity index 100%
rename from core/amber/src/main/python/core/util/buffer/timed_buffer.py
rename to amber/src/main/python/core/util/buffer/timed_buffer.py
diff --git a/core/amber/src/main/python/core/util/console_message/replace_print.py b/amber/src/main/python/core/util/console_message/replace_print.py
similarity index 100%
rename from core/amber/src/main/python/core/util/console_message/replace_print.py
rename to amber/src/main/python/core/util/console_message/replace_print.py
diff --git a/core/amber/src/main/python/core/util/console_message/timed_buffer.py b/amber/src/main/python/core/util/console_message/timed_buffer.py
similarity index 100%
rename from core/amber/src/main/python/core/util/console_message/timed_buffer.py
rename to amber/src/main/python/core/util/console_message/timed_buffer.py
diff --git a/core/amber/src/main/python/core/util/console_message/timestamp.py b/amber/src/main/python/core/util/console_message/timestamp.py
similarity index 100%
rename from core/amber/src/main/python/core/util/console_message/timestamp.py
rename to amber/src/main/python/core/util/console_message/timestamp.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/__init__.py b/amber/src/main/python/core/util/customized_queue/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/__init__.py
rename to amber/src/main/python/core/util/customized_queue/__init__.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/double_blocking_queue.py b/amber/src/main/python/core/util/customized_queue/double_blocking_queue.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/double_blocking_queue.py
rename to amber/src/main/python/core/util/customized_queue/double_blocking_queue.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/inner.py b/amber/src/main/python/core/util/customized_queue/inner.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/inner.py
rename to amber/src/main/python/core/util/customized_queue/inner.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/linked_blocking_multi_queue.py b/amber/src/main/python/core/util/customized_queue/linked_blocking_multi_queue.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/linked_blocking_multi_queue.py
rename to amber/src/main/python/core/util/customized_queue/linked_blocking_multi_queue.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/queue_base.py b/amber/src/main/python/core/util/customized_queue/queue_base.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/queue_base.py
rename to amber/src/main/python/core/util/customized_queue/queue_base.py
diff --git a/core/amber/src/main/python/core/util/customized_queue/test_linked_blocking_multi_queue.py b/amber/src/main/python/core/util/customized_queue/test_linked_blocking_multi_queue.py
similarity index 100%
rename from core/amber/src/main/python/core/util/customized_queue/test_linked_blocking_multi_queue.py
rename to amber/src/main/python/core/util/customized_queue/test_linked_blocking_multi_queue.py
diff --git a/core/amber/src/main/python/core/util/expression_evaluator/__init__.py b/amber/src/main/python/core/util/expression_evaluator/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/expression_evaluator/__init__.py
rename to amber/src/main/python/core/util/expression_evaluator/__init__.py
diff --git a/core/amber/src/main/python/core/util/expression_evaluator/test_expression_evaluator.py b/amber/src/main/python/core/util/expression_evaluator/test_expression_evaluator.py
similarity index 100%
rename from core/amber/src/main/python/core/util/expression_evaluator/test_expression_evaluator.py
rename to amber/src/main/python/core/util/expression_evaluator/test_expression_evaluator.py
diff --git a/core/amber/src/main/python/core/util/operator/__init__.py b/amber/src/main/python/core/util/operator/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/operator/__init__.py
rename to amber/src/main/python/core/util/operator/__init__.py
diff --git a/core/amber/src/main/python/core/util/proto/__init__.py b/amber/src/main/python/core/util/proto/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/proto/__init__.py
rename to amber/src/main/python/core/util/proto/__init__.py
diff --git a/core/amber/src/main/python/core/util/protocol/base_protocols.py b/amber/src/main/python/core/util/protocol/base_protocols.py
similarity index 100%
rename from core/amber/src/main/python/core/util/protocol/base_protocols.py
rename to amber/src/main/python/core/util/protocol/base_protocols.py
diff --git a/core/amber/src/main/python/core/util/runnable/runnable.py b/amber/src/main/python/core/util/runnable/runnable.py
similarity index 100%
rename from core/amber/src/main/python/core/util/runnable/runnable.py
rename to amber/src/main/python/core/util/runnable/runnable.py
diff --git a/core/amber/src/main/python/core/util/stoppable/__init__.py b/amber/src/main/python/core/util/stoppable/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/stoppable/__init__.py
rename to amber/src/main/python/core/util/stoppable/__init__.py
diff --git a/core/amber/src/main/python/core/util/stoppable/stoppable.py b/amber/src/main/python/core/util/stoppable/stoppable.py
similarity index 100%
rename from core/amber/src/main/python/core/util/stoppable/stoppable.py
rename to amber/src/main/python/core/util/stoppable/stoppable.py
diff --git a/core/amber/src/main/python/core/util/stoppable/stoppable_queue_blocking_thread.py b/amber/src/main/python/core/util/stoppable/stoppable_queue_blocking_thread.py
similarity index 100%
rename from core/amber/src/main/python/core/util/stoppable/stoppable_queue_blocking_thread.py
rename to amber/src/main/python/core/util/stoppable/stoppable_queue_blocking_thread.py
diff --git a/core/amber/src/main/python/core/util/thread/__init__.py b/amber/src/main/python/core/util/thread/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/thread/__init__.py
rename to amber/src/main/python/core/util/thread/__init__.py
diff --git a/core/amber/src/main/python/core/util/thread/atomic.py b/amber/src/main/python/core/util/thread/atomic.py
similarity index 100%
rename from core/amber/src/main/python/core/util/thread/atomic.py
rename to amber/src/main/python/core/util/thread/atomic.py
diff --git a/core/amber/src/main/python/core/util/virtual_identity/__init__.py b/amber/src/main/python/core/util/virtual_identity/__init__.py
similarity index 100%
rename from core/amber/src/main/python/core/util/virtual_identity/__init__.py
rename to amber/src/main/python/core/util/virtual_identity/__init__.py
diff --git a/core/amber/src/main/python/proto/__init__.py b/amber/src/main/python/proto/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/__init__.py
rename to amber/src/main/python/proto/__init__.py
diff --git a/core/amber/src/main/python/proto/org/__init__.py b/amber/src/main/python/proto/org/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/__init__.py
rename to amber/src/main/python/proto/org/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/__init__.py b/amber/src/main/python/proto/org/apache/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/__init__.py
rename to amber/src/main/python/proto/org/apache/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/__init__.py b/amber/src/main/python/proto/org/apache/amber/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/core/__init__.py b/amber/src/main/python/proto/org/apache/amber/core/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/core/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/core/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/architecture/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/architecture/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/architecture/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/architecture/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/architecture/rpc/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/architecture/rpc/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/architecture/rpc/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/architecture/rpc/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/architecture/sendsemantics/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/architecture/sendsemantics/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/architecture/sendsemantics/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/architecture/sendsemantics/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/architecture/worker/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/architecture/worker/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/architecture/worker/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/architecture/worker/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/amber/engine/common/__init__.py b/amber/src/main/python/proto/org/apache/amber/engine/common/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/amber/engine/common/__init__.py
rename to amber/src/main/python/proto/org/apache/amber/engine/common/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/texera/__init__.py b/amber/src/main/python/proto/org/apache/texera/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/texera/__init__.py
rename to amber/src/main/python/proto/org/apache/texera/__init__.py
diff --git a/core/amber/src/main/python/proto/org/apache/texera/web/__init__.py b/amber/src/main/python/proto/org/apache/texera/web/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/org/apache/texera/web/__init__.py
rename to amber/src/main/python/proto/org/apache/texera/web/__init__.py
diff --git a/core/amber/src/main/python/proto/scalapb/__init__.py b/amber/src/main/python/proto/scalapb/__init__.py
similarity index 100%
rename from core/amber/src/main/python/proto/scalapb/__init__.py
rename to amber/src/main/python/proto/scalapb/__init__.py
diff --git a/core/amber/src/main/python/pyamber/__init__.py b/amber/src/main/python/pyamber/__init__.py
similarity index 100%
rename from core/amber/src/main/python/pyamber/__init__.py
rename to amber/src/main/python/pyamber/__init__.py
diff --git a/core/amber/src/main/python/pytexera/__init__.py b/amber/src/main/python/pytexera/__init__.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/__init__.py
rename to amber/src/main/python/pytexera/__init__.py
diff --git a/core/amber/src/main/python/pytexera/storage/__init__.py b/amber/src/main/python/pytexera/storage/__init__.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/storage/__init__.py
rename to amber/src/main/python/pytexera/storage/__init__.py
diff --git a/core/amber/src/main/python/pytexera/storage/dataset_file_document.py b/amber/src/main/python/pytexera/storage/dataset_file_document.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/storage/dataset_file_document.py
rename to amber/src/main/python/pytexera/storage/dataset_file_document.py
diff --git a/core/amber/src/main/python/pytexera/udf/__init__.py b/amber/src/main/python/pytexera/udf/__init__.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/__init__.py
rename to amber/src/main/python/pytexera/udf/__init__.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/__init__.py b/amber/src/main/python/pytexera/udf/examples/__init__.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/__init__.py
rename to amber/src/main/python/pytexera/udf/examples/__init__.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/count_batch_operator.py b/amber/src/main/python/pytexera/udf/examples/count_batch_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/count_batch_operator.py
rename to amber/src/main/python/pytexera/udf/examples/count_batch_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/echo_operator.py b/amber/src/main/python/pytexera/udf/examples/echo_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/echo_operator.py
rename to amber/src/main/python/pytexera/udf/examples/echo_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/echo_table_operator.py b/amber/src/main/python/pytexera/udf/examples/echo_table_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/echo_table_operator.py
rename to amber/src/main/python/pytexera/udf/examples/echo_table_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/generator_operator_binary.py b/amber/src/main/python/pytexera/udf/examples/generator_operator_binary.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/generator_operator_binary.py
rename to amber/src/main/python/pytexera/udf/examples/generator_operator_binary.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/generator_operator_integer.py b/amber/src/main/python/pytexera/udf/examples/generator_operator_integer.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/generator_operator_integer.py
rename to amber/src/main/python/pytexera/udf/examples/generator_operator_integer.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/join_operator.py b/amber/src/main/python/pytexera/udf/examples/join_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/join_operator.py
rename to amber/src/main/python/pytexera/udf/examples/join_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/rudf/r_table_operator.py b/amber/src/main/python/pytexera/udf/examples/rudf/r_table_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/rudf/r_table_operator.py
rename to amber/src/main/python/pytexera/udf/examples/rudf/r_table_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py b/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
rename to amber/src/main/python/pytexera/udf/examples/rudf/r_tuple_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/test_count_batch_operator.py b/amber/src/main/python/pytexera/udf/examples/test_count_batch_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/test_count_batch_operator.py
rename to amber/src/main/python/pytexera/udf/examples/test_count_batch_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/test_echo_operator.py b/amber/src/main/python/pytexera/udf/examples/test_echo_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/test_echo_operator.py
rename to amber/src/main/python/pytexera/udf/examples/test_echo_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/test_echo_table_operator.py b/amber/src/main/python/pytexera/udf/examples/test_echo_table_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/test_echo_table_operator.py
rename to amber/src/main/python/pytexera/udf/examples/test_echo_table_operator.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/test_generator_operator_binary.py b/amber/src/main/python/pytexera/udf/examples/test_generator_operator_binary.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/test_generator_operator_binary.py
rename to amber/src/main/python/pytexera/udf/examples/test_generator_operator_binary.py
diff --git a/core/amber/src/main/python/pytexera/udf/examples/test_generator_operator_integer.py b/amber/src/main/python/pytexera/udf/examples/test_generator_operator_integer.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/examples/test_generator_operator_integer.py
rename to amber/src/main/python/pytexera/udf/examples/test_generator_operator_integer.py
diff --git a/core/amber/src/main/python/pytexera/udf/udf_operator.py b/amber/src/main/python/pytexera/udf/udf_operator.py
similarity index 100%
rename from core/amber/src/main/python/pytexera/udf/udf_operator.py
rename to amber/src/main/python/pytexera/udf/udf_operator.py
diff --git a/core/amber/src/main/python/texera_run_python_worker.py b/amber/src/main/python/texera_run_python_worker.py
similarity index 100%
rename from core/amber/src/main/python/texera_run_python_worker.py
rename to amber/src/main/python/texera_run_python_worker.py
diff --git a/core/amber/src/main/resources/cache.ccf b/amber/src/main/resources/cache.ccf
similarity index 100%
rename from core/amber/src/main/resources/cache.ccf
rename to amber/src/main/resources/cache.ccf
diff --git a/core/amber/src/main/resources/computing-unit-master-config.yml b/amber/src/main/resources/computing-unit-master-config.yml
similarity index 100%
rename from core/amber/src/main/resources/computing-unit-master-config.yml
rename to amber/src/main/resources/computing-unit-master-config.yml
diff --git a/core/amber/src/main/resources/gmail/.gitkeep b/amber/src/main/resources/gmail/.gitkeep
similarity index 100%
rename from core/amber/src/main/resources/gmail/.gitkeep
rename to amber/src/main/resources/gmail/.gitkeep
diff --git a/core/amber/src/main/resources/logback.xml b/amber/src/main/resources/logback.xml
similarity index 100%
rename from core/amber/src/main/resources/logback.xml
rename to amber/src/main/resources/logback.xml
diff --git a/core/amber/src/main/resources/texera-compiling-service-web-config.yml b/amber/src/main/resources/texera-compiling-service-web-config.yml
similarity index 100%
rename from core/amber/src/main/resources/texera-compiling-service-web-config.yml
rename to amber/src/main/resources/texera-compiling-service-web-config.yml
diff --git a/core/amber/src/main/resources/web-config.yml b/amber/src/main/resources/web-config.yml
similarity index 100%
rename from core/amber/src/main/resources/web-config.yml
rename to amber/src/main/resources/web-config.yml
diff --git a/core/amber/src/main/scala/org/apache/amber/clustering/ClusterListener.scala b/amber/src/main/scala/org/apache/amber/clustering/ClusterListener.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/clustering/ClusterListener.scala
rename to amber/src/main/scala/org/apache/amber/clustering/ClusterListener.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/clustering/SingleNodeListener.scala b/amber/src/main/scala/org/apache/amber/clustering/SingleNodeListener.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/clustering/SingleNodeListener.scala
rename to amber/src/main/scala/org/apache/amber/clustering/SingleNodeListener.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorRefMappingService.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorRefMappingService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorRefMappingService.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorRefMappingService.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorService.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorService.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaActorService.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaMessageTransferService.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaMessageTransferService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaMessageTransferService.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/AkkaMessageTransferService.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AmberProcessor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/AmberProcessor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/AmberProcessor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/AmberProcessor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/ExecutorDeployment.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/ExecutorDeployment.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/ExecutorDeployment.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/ExecutorDeployment.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/ProcessingStepCursor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/ProcessingStepCursor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/ProcessingStepCursor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/ProcessingStepCursor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/common/WorkflowActor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/common/WorkflowActor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/common/WorkflowActor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/common/WorkflowActor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ClientEvent.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ClientEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ClientEvent.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/ClientEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Controller.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Controller.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Controller.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/Controller.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerAsyncRPCHandlerInitializer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerAsyncRPCHandlerInitializer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerAsyncRPCHandlerInitializer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerAsyncRPCHandlerInitializer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerProcessor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerProcessor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerProcessor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerProcessor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerTimerService.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerTimerService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerTimerService.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/ControllerTimerService.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/GlobalReplayManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/GlobalReplayManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/GlobalReplayManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/GlobalReplayManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Workflow.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Workflow.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/Workflow.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/Workflow.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/WorkflowScheduler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/WorkflowScheduler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/WorkflowScheduler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/WorkflowScheduler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ChannelExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ChannelExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ChannelExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ChannelExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ExecutionUtils.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ExecutionUtils.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ExecutionUtils.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/ExecutionUtils.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/LinkExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/LinkExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/LinkExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/LinkExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/OperatorExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/OperatorExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/OperatorExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/OperatorExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/RegionExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/RegionExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/RegionExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/RegionExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkerPortExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkerPortExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkerPortExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkerPortExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkflowExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkflowExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkflowExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/execution/WorkflowExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ConsoleMessageHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ConsoleMessageHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ConsoleMessageHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ConsoleMessageHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/DebugCommandHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/DebugCommandHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/DebugCommandHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/DebugCommandHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EmbeddedControlMessageHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EmbeddedControlMessageHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EmbeddedControlMessageHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EmbeddedControlMessageHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EvaluatePythonExpressionHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EvaluatePythonExpressionHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EvaluatePythonExpressionHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/EvaluatePythonExpressionHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/LinkWorkersHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/LinkWorkersHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/LinkWorkersHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/LinkWorkersHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PauseHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PauseHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PauseHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PauseHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PortCompletedHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PortCompletedHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PortCompletedHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/PortCompletedHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/QueryWorkerStatisticsHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/QueryWorkerStatisticsHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/QueryWorkerStatisticsHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/QueryWorkerStatisticsHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ResumeHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ResumeHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ResumeHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/ResumeHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetrieveWorkflowStateHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetrieveWorkflowStateHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetrieveWorkflowStateHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetrieveWorkflowStateHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetryWorkflowHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetryWorkflowHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetryWorkflowHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/RetryWorkflowHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/StartWorkflowHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/StartWorkflowHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/StartWorkflowHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/StartWorkflowHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/TakeGlobalCheckpointHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/TakeGlobalCheckpointHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/TakeGlobalCheckpointHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/TakeGlobalCheckpointHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerExecutionCompletedHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerExecutionCompletedHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerExecutionCompletedHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerExecutionCompletedHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerStateUpdatedHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerStateUpdatedHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerStateUpdatedHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/controller/promisehandlers/WorkerStateUpdatedHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/AddressInfo.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/AddressInfo.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/AddressInfo.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/AddressInfo.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/DeployStrategy.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/DeployStrategy.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/DeployStrategy.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/DeployStrategy.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/OneOnEach.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/OneOnEach.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/OneOnEach.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/OneOnEach.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RandomDeployment.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RandomDeployment.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RandomDeployment.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RandomDeployment.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RoundRobinDeployment.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RoundRobinDeployment.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RoundRobinDeployment.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/deploystrategy/RoundRobinDeployment.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/layer/WorkerExecution.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/layer/WorkerExecution.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/layer/WorkerExecution.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/deploysemantics/layer/WorkerExecution.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/AsyncReplayLogWriter.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/AsyncReplayLogWriter.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/AsyncReplayLogWriter.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/AsyncReplayLogWriter.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/EmptyReplayLogger.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/EmptyReplayLogger.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/EmptyReplayLogger.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/EmptyReplayLogger.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/OrderEnforcer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/OrderEnforcer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/OrderEnforcer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/OrderEnforcer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogGenerator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogGenerator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogGenerator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogGenerator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogger.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogger.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogger.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLogger.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLoggerImpl.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLoggerImpl.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLoggerImpl.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayLoggerImpl.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayOrderEnforcer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayOrderEnforcer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayOrderEnforcer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/logreplay/ReplayOrderEnforcer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/AmberFIFOChannel.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/AmberFIFOChannel.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/AmberFIFOChannel.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/AmberFIFOChannel.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/CongestionControl.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/CongestionControl.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/CongestionControl.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/CongestionControl.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/DeadLetterMonitorActor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/DeadLetterMonitorActor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/DeadLetterMonitorActor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/DeadLetterMonitorActor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/FlowControl.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/FlowControl.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/FlowControl.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/FlowControl.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputGateway.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputGateway.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputGateway.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputGateway.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/InputManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGateway.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGateway.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGateway.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGateway.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkOutputGateway.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkOutputGateway.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkOutputGateway.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkOutputGateway.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OrderingEnforcer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OrderingEnforcer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OrderingEnforcer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OrderingEnforcer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerPort.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerPort.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerPort.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerPort.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerTimerService.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerTimerService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerTimerService.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/messaginglayer/WorkerTimerService.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyClient.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyClient.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyClient.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyClient.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyServer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyServer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyServer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonProxyServer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorker.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorker.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorker.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorker.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/WorkerBatchInternalQueue.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/WorkerBatchInternalQueue.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/WorkerBatchInternalQueue.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/pythonworker/WorkerBatchInternalQueue.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGenerator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGenerator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGenerator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGenerator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostEstimator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostEstimator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostEstimator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/CostEstimator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGenerator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGenerator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGenerator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGenerator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Region.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Region.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Region.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Region.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionExecutionCoordinator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionPlan.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionPlan.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionPlan.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/RegionPlan.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Schedule.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Schedule.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Schedule.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/Schedule.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ScheduleGenerator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ScheduleGenerator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ScheduleGenerator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/ScheduleGenerator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/SchedulingUtils.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/SchedulingUtils.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/SchedulingUtils.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/SchedulingUtils.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/WorkflowExecutionCoordinator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/WorkflowExecutionCoordinator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/WorkflowExecutionCoordinator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/WorkflowExecutionCoordinator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ChannelConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ChannelConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ChannelConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ChannelConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/LinkConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/LinkConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/LinkConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/LinkConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/OperatorConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/OperatorConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/OperatorConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/OperatorConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/PortConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/PortConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/PortConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/PortConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ResourceConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ResourceConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ResourceConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/ResourceConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/WorkerConfig.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/WorkerConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/WorkerConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/config/WorkerConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ExecutionClusterInfo.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ExecutionClusterInfo.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ExecutionClusterInfo.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ExecutionClusterInfo.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ResourceAllocator.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ResourceAllocator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ResourceAllocator.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/scheduling/resourcePolicies/ResourceAllocator.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/BroadcastPartitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/BroadcastPartitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/BroadcastPartitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/BroadcastPartitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/HashBasedShufflePartitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/HashBasedShufflePartitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/HashBasedShufflePartitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/HashBasedShufflePartitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/OneToOnePartitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/OneToOnePartitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/OneToOnePartitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/OneToOnePartitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/Partitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/Partitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/Partitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/Partitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RangeBasedShufflePartitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RangeBasedShufflePartitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RangeBasedShufflePartitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RangeBasedShufflePartitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RoundRobinPartitioner.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RoundRobinPartitioner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RoundRobinPartitioner.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/sendsemantics/partitioners/RoundRobinPartitioner.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DPThread.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DPThread.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DPThread.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/DPThread.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessor.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessor.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessorRPCHandlerInitializer.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessorRPCHandlerInitializer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessorRPCHandlerInitializer.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/DataProcessorRPCHandlerInitializer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/EmbeddedControlMessageManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/EmbeddedControlMessageManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/EmbeddedControlMessageManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/EmbeddedControlMessageManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseType.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseType.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseType.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/PauseType.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/WorkflowWorker.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/WorkflowWorker.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/WorkflowWorker.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/WorkflowWorker.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/InputPortMaterializationReaderThread.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/InputPortMaterializationReaderThread.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/InputPortMaterializationReaderThread.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/InputPortMaterializationReaderThread.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/OutputPortResultWriterThread.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/OutputPortResultWriterThread.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/OutputPortResultWriterThread.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/OutputPortResultWriterThread.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/SerializationManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/SerializationManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/SerializationManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/SerializationManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/StatisticsManager.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/StatisticsManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/StatisticsManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/managers/StatisticsManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddInputChannelHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddInputChannelHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddInputChannelHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddInputChannelHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddPartitioningHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddPartitioningHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddPartitioningHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AddPartitioningHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AssignPortHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AssignPortHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AssignPortHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/AssignPortHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndChannelHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndChannelHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndChannelHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndChannelHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/EndHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FinalizeCheckpointHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FinalizeCheckpointHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FinalizeCheckpointHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FinalizeCheckpointHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FlushNetworkBufferHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FlushNetworkBufferHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FlushNetworkBufferHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/FlushNetworkBufferHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/InitializeExecutorHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/OpenExecutorHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/OpenExecutorHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/OpenExecutorHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/OpenExecutorHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PauseHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PauseHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PauseHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PauseHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PrepareCheckpointHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PrepareCheckpointHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PrepareCheckpointHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/PrepareCheckpointHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/QueryStatisticsHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/QueryStatisticsHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/QueryStatisticsHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/QueryStatisticsHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/ResumeHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/ResumeHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/ResumeHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/ResumeHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/RetrieveStateHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/RetrieveStateHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/RetrieveStateHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/RetrieveStateHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartChannelHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartChannelHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartChannelHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartChannelHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartHandler.scala b/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartHandler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartHandler.scala
rename to amber/src/main/scala/org/apache/amber/engine/architecture/worker/promisehandlers/StartHandler.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/AmberConfig.scala b/amber/src/main/scala/org/apache/amber/engine/common/AmberConfig.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/AmberConfig.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/AmberConfig.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/AmberKryoInitializer.scala b/amber/src/main/scala/org/apache/amber/engine/common/AmberKryoInitializer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/AmberKryoInitializer.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/AmberKryoInitializer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/AmberLogging.scala b/amber/src/main/scala/org/apache/amber/engine/common/AmberLogging.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/AmberLogging.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/AmberLogging.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/AmberRuntime.scala b/amber/src/main/scala/org/apache/amber/engine/common/AmberRuntime.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/AmberRuntime.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/AmberRuntime.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/CheckpointState.scala b/amber/src/main/scala/org/apache/amber/engine/common/CheckpointState.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/CheckpointState.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/CheckpointState.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/CheckpointSupport.scala b/amber/src/main/scala/org/apache/amber/engine/common/CheckpointSupport.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/CheckpointSupport.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/CheckpointSupport.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ElidableStatement.scala b/amber/src/main/scala/org/apache/amber/engine/common/ElidableStatement.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ElidableStatement.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ElidableStatement.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/FutureBijection.scala b/amber/src/main/scala/org/apache/amber/engine/common/FutureBijection.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/FutureBijection.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/FutureBijection.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/SerializedState.scala b/amber/src/main/scala/org/apache/amber/engine/common/SerializedState.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/SerializedState.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/SerializedState.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/Utils.scala b/amber/src/main/scala/org/apache/amber/engine/common/Utils.scala
similarity index 99%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/Utils.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/Utils.scala
index 3df11e96fa..81e9c186a4 100644
--- a/core/amber/src/main/scala/org/apache/amber/engine/common/Utils.scala
+++ b/amber/src/main/scala/org/apache/amber/engine/common/Utils.scala
@@ -30,7 +30,7 @@ object Utils extends LazyLogging {
 
   /**
     * Gets the real path of the amber home directory by:
-    * 1): check if the current directory is texera/core/amber
+    * 1): check if the current directory is texera/amber
     * if it's not then:
     * 2): search the siblings and children to find the texera home path
     *
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/amberexception/BreakpointException.scala b/amber/src/main/scala/org/apache/amber/engine/common/amberexception/BreakpointException.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/amberexception/BreakpointException.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/amberexception/BreakpointException.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DataPayload.scala b/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DataPayload.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DataPayload.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DataPayload.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DirectControlMessagePayload.scala b/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DirectControlMessagePayload.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DirectControlMessagePayload.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ambermessage/DirectControlMessagePayload.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/RecoveryPayload.scala b/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/RecoveryPayload.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/RecoveryPayload.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ambermessage/RecoveryPayload.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowFIFOMessagePayload.scala b/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowFIFOMessagePayload.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowFIFOMessagePayload.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowFIFOMessagePayload.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowMessage.scala b/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowMessage.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowMessage.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/ambermessage/WorkflowMessage.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/client/AmberClient.scala b/amber/src/main/scala/org/apache/amber/engine/common/client/AmberClient.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/client/AmberClient.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/client/AmberClient.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/client/ClientActor.scala b/amber/src/main/scala/org/apache/amber/engine/common/client/ClientActor.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/client/ClientActor.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/client/ClientActor.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCClient.scala b/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCClient.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCClient.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCClient.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCHandlerInitializer.scala b/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCHandlerInitializer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCHandlerInitializer.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCHandlerInitializer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCServer.scala b/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCServer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCServer.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/rpc/AsyncRPCServer.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/statetransition/StateManager.scala b/amber/src/main/scala/org/apache/amber/engine/common/statetransition/StateManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/statetransition/StateManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/statetransition/StateManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/statetransition/WorkerStateManager.scala b/amber/src/main/scala/org/apache/amber/engine/common/statetransition/WorkerStateManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/statetransition/WorkerStateManager.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/statetransition/WorkerStateManager.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/storage/EmptyRecordStorage.scala b/amber/src/main/scala/org/apache/amber/engine/common/storage/EmptyRecordStorage.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/storage/EmptyRecordStorage.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/storage/EmptyRecordStorage.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/storage/HDFSRecordStorage.scala b/amber/src/main/scala/org/apache/amber/engine/common/storage/HDFSRecordStorage.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/storage/HDFSRecordStorage.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/storage/HDFSRecordStorage.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/storage/SequentialRecordStorage.scala b/amber/src/main/scala/org/apache/amber/engine/common/storage/SequentialRecordStorage.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/storage/SequentialRecordStorage.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/storage/SequentialRecordStorage.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/storage/VFSRecordStorage.scala b/amber/src/main/scala/org/apache/amber/engine/common/storage/VFSRecordStorage.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/storage/VFSRecordStorage.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/storage/VFSRecordStorage.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/engine/common/virtualidentity/util.scala b/amber/src/main/scala/org/apache/amber/engine/common/virtualidentity/util.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/engine/common/virtualidentity/util.scala
rename to amber/src/main/scala/org/apache/amber/engine/common/virtualidentity/util.scala
diff --git a/core/amber/src/main/scala/org/apache/amber/error/ErrorUtils.scala b/amber/src/main/scala/org/apache/amber/error/ErrorUtils.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/amber/error/ErrorUtils.scala
rename to amber/src/main/scala/org/apache/amber/error/ErrorUtils.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/ComputingUnitMaster.scala b/amber/src/main/scala/org/apache/texera/web/ComputingUnitMaster.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/ComputingUnitMaster.scala
rename to amber/src/main/scala/org/apache/texera/web/ComputingUnitMaster.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/ComputingUnitWorker.scala b/amber/src/main/scala/org/apache/texera/web/ComputingUnitWorker.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/ComputingUnitWorker.scala
rename to amber/src/main/scala/org/apache/texera/web/ComputingUnitWorker.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/ServletAwareConfigurator.scala b/amber/src/main/scala/org/apache/texera/web/ServletAwareConfigurator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/ServletAwareConfigurator.scala
rename to amber/src/main/scala/org/apache/texera/web/ServletAwareConfigurator.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/SessionState.scala b/amber/src/main/scala/org/apache/texera/web/SessionState.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/SessionState.scala
rename to amber/src/main/scala/org/apache/texera/web/SessionState.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/SubscriptionManager.scala b/amber/src/main/scala/org/apache/texera/web/SubscriptionManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/SubscriptionManager.scala
rename to amber/src/main/scala/org/apache/texera/web/SubscriptionManager.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/TexeraWebApplication.scala b/amber/src/main/scala/org/apache/texera/web/TexeraWebApplication.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/TexeraWebApplication.scala
rename to amber/src/main/scala/org/apache/texera/web/TexeraWebApplication.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java b/amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java
rename to amber/src/main/scala/org/apache/texera/web/TexeraWebConfiguration.java
diff --git a/core/amber/src/main/scala/org/apache/texera/web/WebsocketInput.scala b/amber/src/main/scala/org/apache/texera/web/WebsocketInput.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/WebsocketInput.scala
rename to amber/src/main/scala/org/apache/texera/web/WebsocketInput.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/WorkflowLifecycleManager.scala b/amber/src/main/scala/org/apache/texera/web/WorkflowLifecycleManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/WorkflowLifecycleManager.scala
rename to amber/src/main/scala/org/apache/texera/web/WorkflowLifecycleManager.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/auth/GuestAuthFilter.scala b/amber/src/main/scala/org/apache/texera/web/auth/GuestAuthFilter.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/auth/GuestAuthFilter.scala
rename to amber/src/main/scala/org/apache/texera/web/auth/GuestAuthFilter.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/auth/JwtAuth.scala b/amber/src/main/scala/org/apache/texera/web/auth/JwtAuth.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/auth/JwtAuth.scala
rename to amber/src/main/scala/org/apache/texera/web/auth/JwtAuth.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/auth/UserAuthenticator.scala b/amber/src/main/scala/org/apache/texera/web/auth/UserAuthenticator.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/auth/UserAuthenticator.scala
rename to amber/src/main/scala/org/apache/texera/web/auth/UserAuthenticator.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/auth/UserRoleAuthorizer.scala b/amber/src/main/scala/org/apache/texera/web/auth/UserRoleAuthorizer.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/auth/UserRoleAuthorizer.scala
rename to amber/src/main/scala/org/apache/texera/web/auth/UserRoleAuthorizer.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/CollabWebSocketEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/CollabWebSocketEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/CollabWebSocketEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/CollabWebSocketEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/CommandEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/CommandEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/CommandEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/CommandEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockGrantedEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockGrantedEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockGrantedEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/LockGrantedEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockRejectedEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockRejectedEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/LockRejectedEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/LockRejectedEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/ReleaseLockEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/ReleaseLockEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/ReleaseLockEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/ReleaseLockEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/RestoreVersionEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/RestoreVersionEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/RestoreVersionEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/RestoreVersionEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/event/WorkflowAccessEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/event/WorkflowAccessEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/event/WorkflowAccessEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/event/WorkflowAccessEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/AcquireLockRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/AcquireLockRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/AcquireLockRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/AcquireLockRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/CollabWebSocketRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/CollabWebSocketRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/CollabWebSocketRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/CollabWebSocketRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/CommandRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/CommandRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/CommandRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/CommandRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/HeartBeatRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/HeartBeatRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/HeartBeatRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/HeartBeatRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/RestoreVersionRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/RestoreVersionRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/RestoreVersionRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/RestoreVersionRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/TryLockRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/TryLockRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/TryLockRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/TryLockRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/request/WIdRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/request/WIdRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/request/WIdRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/request/WIdRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/collab/response/HeartBeatResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/collab/response/HeartBeatResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/collab/response/HeartBeatResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/collab/response/HeartBeatResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/common/AccessEntry.scala b/amber/src/main/scala/org/apache/texera/web/model/common/AccessEntry.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/common/AccessEntry.scala
rename to amber/src/main/scala/org/apache/texera/web/model/common/AccessEntry.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserLoginRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserLoginRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserLoginRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserLoginRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserRegistrationRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserRegistrationRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserRegistrationRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/request/auth/UserRegistrationRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/request/result/ResultExportRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/http/request/result/ResultExportRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/request/result/ResultExportRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/request/result/ResultExportRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/response/SchemaPropagationResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/http/response/SchemaPropagationResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/response/SchemaPropagationResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/response/SchemaPropagationResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/response/TokenIssueResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/http/response/TokenIssueResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/response/TokenIssueResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/response/TokenIssueResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/http/response/result/ResultExportResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/http/response/result/ResultExportResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/http/response/result/ResultExportResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/http/response/result/ResultExportResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/CacheStatusUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/CacheStatusUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/CacheStatusUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/CacheStatusUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionDurationUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionDurationUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionDurationUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionDurationUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionStatusEnum.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionStatusEnum.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionStatusEnum.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/ExecutionStatusEnum.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/OperatorStatisticsUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/OperatorStatisticsUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/OperatorStatisticsUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/OperatorStatisticsUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/PaginatedResultEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/PaginatedResultEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/PaginatedResultEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/PaginatedResultEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/TexeraWebSocketEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/TexeraWebSocketEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/TexeraWebSocketEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/TexeraWebSocketEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WebResultUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WebResultUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WebResultUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/WebResultUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkerAssignmentUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkerAssignmentUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkerAssignmentUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkerAssignmentUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowAvailableResultEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowAvailableResultEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowAvailableResultEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowAvailableResultEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowErrorEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowErrorEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowErrorEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowErrorEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowStateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowStateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowStateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/WorkflowStateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/python/ConsoleUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/event/python/ConsoleUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/event/python/ConsoleUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/event/python/ConsoleUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/EditingTimeCompilationRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/EditingTimeCompilationRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/EditingTimeCompilationRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/EditingTimeCompilationRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/HeartBeatRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/HeartBeatRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/HeartBeatRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/HeartBeatRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ModifyLogicRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ModifyLogicRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ModifyLogicRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/ModifyLogicRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ResultPaginationRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ResultPaginationRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/ResultPaginationRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/ResultPaginationRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/RetryRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/RetryRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/RetryRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/RetryRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/SkipTupleRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/SkipTupleRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/SkipTupleRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/SkipTupleRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/TexeraWebSocketRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/TexeraWebSocketRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/TexeraWebSocketRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/TexeraWebSocketRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowCheckpointRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowCheckpointRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowCheckpointRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowCheckpointRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowExecuteRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowExecuteRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowExecuteRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowExecuteRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowKillRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowKillRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowKillRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowKillRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowPauseRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowPauseRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowPauseRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowPauseRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowResumeRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowResumeRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowResumeRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/WorkflowResumeRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/DebugCommandRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/DebugCommandRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/DebugCommandRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/DebugCommandRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/PythonExpressionEvaluateRequest.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/PythonExpressionEvaluateRequest.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/PythonExpressionEvaluateRequest.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/request/python/PythonExpressionEvaluateRequest.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ClusterStatusUpdateEvent.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ClusterStatusUpdateEvent.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ClusterStatusUpdateEvent.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/response/ClusterStatusUpdateEvent.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/HeartBeatResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/response/HeartBeatResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/HeartBeatResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/response/HeartBeatResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ModifyLogicResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ModifyLogicResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/ModifyLogicResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/response/ModifyLogicResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/python/PythonExpressionEvaluateResponse.scala b/amber/src/main/scala/org/apache/texera/web/model/websocket/response/python/PythonExpressionEvaluateResponse.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/model/websocket/response/python/PythonExpressionEvaluateResponse.scala
rename to amber/src/main/scala/org/apache/texera/web/model/websocket/response/python/PythonExpressionEvaluateResponse.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/CollaborationResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/CollaborationResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/CollaborationResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/CollaborationResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/EmailTemplate.scala b/amber/src/main/scala/org/apache/texera/web/resource/EmailTemplate.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/EmailTemplate.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/EmailTemplate.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/GmailResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/GmailResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/GmailResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/GmailResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/HealthCheckResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/HealthCheckResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/HealthCheckResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/HealthCheckResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/MockKillWorkerResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/MockKillWorkerResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/MockKillWorkerResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/MockKillWorkerResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/SuccessExecutionResult.scala b/amber/src/main/scala/org/apache/texera/web/resource/SuccessExecutionResult.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/SuccessExecutionResult.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/SuccessExecutionResult.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/SystemMetadataResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/SystemMetadataResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/SystemMetadataResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/SystemMetadataResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/WebsocketPayloadSizeTuner.scala b/amber/src/main/scala/org/apache/texera/web/resource/WebsocketPayloadSizeTuner.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/WebsocketPayloadSizeTuner.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/WebsocketPayloadSizeTuner.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/WorkflowWebsocketResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/WorkflowWebsocketResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/WorkflowWebsocketResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/WorkflowWebsocketResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantManager.scala b/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantManager.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantManager.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantManager.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/aiassistant/AiAssistantResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/test_type_annotation_visitor.py b/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/test_type_annotation_visitor.py
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/test_type_annotation_visitor.py
rename to amber/src/main/scala/org/apache/texera/web/resource/aiassistant/test_type_annotation_visitor.py
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/type_annotation_visitor.py b/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/type_annotation_visitor.py
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/aiassistant/type_annotation_visitor.py
rename to amber/src/main/scala/org/apache/texera/web/resource/aiassistant/type_annotation_visitor.py
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/auth/AuthResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/auth/AuthResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/auth/AuthResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/auth/AuthResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/auth/GoogleAuthResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/auth/GoogleAuthResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/auth/GoogleAuthResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/auth/GoogleAuthResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DashboardResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DashboardResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DashboardResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/DashboardResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DatasetSearchQueryBuilder.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DatasetSearchQueryBuilder.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/DatasetSearchQueryBuilder.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/DatasetSearchQueryBuilder.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/FulltextSearchQueryUtils.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/FulltextSearchQueryUtils.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/FulltextSearchQueryUtils.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/FulltextSearchQueryUtils.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/ProjectSearchQueryBuilder.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/ProjectSearchQueryBuilder.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/ProjectSearchQueryBuilder.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/ProjectSearchQueryBuilder.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/SearchQueryBuilder.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/SearchQueryBuilder.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/SearchQueryBuilder.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/SearchQueryBuilder.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/WorkflowSearchQueryBuilder.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/WorkflowSearchQueryBuilder.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/WorkflowSearchQueryBuilder.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/WorkflowSearchQueryBuilder.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/execution/AdminExecutionResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/execution/AdminExecutionResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/execution/AdminExecutionResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/execution/AdminExecutionResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/settings/AdminSettingsResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/settings/AdminSettingsResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/settings/AdminSettingsResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/settings/AdminSettingsResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/user/AdminUserResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/user/AdminUserResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/user/AdminUserResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/admin/user/AdminUserResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/ActionType.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/ActionType.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/ActionType.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/ActionType.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityTables.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityTables.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityTables.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityTables.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityType.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityType.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityType.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/EntityType.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/HubResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/HubResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/HubResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/hub/HubResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/DatasetResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/DatasetResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/DatasetResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/DatasetResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/utils/DatasetStatisticsUtils.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/utils/DatasetStatisticsUtils.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/utils/DatasetStatisticsUtils.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/dataset/utils/DatasetStatisticsUtils.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectAccessResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectAccessResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectAccessResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectAccessResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/PublicProjectResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/PublicProjectResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/PublicProjectResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/PublicProjectResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/quota/UserQuotaResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/quota/UserQuotaResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/quota/UserQuotaResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/quota/UserQuotaResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowAccessResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowAccessResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowAccessResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowAccessResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala b/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
rename to amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/EmailNotificationService.scala b/amber/src/main/scala/org/apache/texera/web/service/EmailNotificationService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/EmailNotificationService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/EmailNotificationService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionConsoleService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionConsoleService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionConsoleService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionConsoleService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionReconfigurationService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionReconfigurationService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionReconfigurationService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionReconfigurationService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionResultService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionResultService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionResultService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionResultService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionRuntimeService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionRuntimeService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionRuntimeService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionRuntimeService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionStatsService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionStatsService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionStatsService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionStatsService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ExecutionsMetadataPersistService.scala b/amber/src/main/scala/org/apache/texera/web/service/ExecutionsMetadataPersistService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ExecutionsMetadataPersistService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ExecutionsMetadataPersistService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/FriesReconfigurationAlgorithm.scala b/amber/src/main/scala/org/apache/texera/web/service/FriesReconfigurationAlgorithm.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/FriesReconfigurationAlgorithm.scala
rename to amber/src/main/scala/org/apache/texera/web/service/FriesReconfigurationAlgorithm.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/ResultExportService.scala b/amber/src/main/scala/org/apache/texera/web/service/ResultExportService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/ResultExportService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/ResultExportService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/WorkflowEmailNotifier.scala b/amber/src/main/scala/org/apache/texera/web/service/WorkflowEmailNotifier.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/WorkflowEmailNotifier.scala
rename to amber/src/main/scala/org/apache/texera/web/service/WorkflowEmailNotifier.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/WorkflowExecutionService.scala b/amber/src/main/scala/org/apache/texera/web/service/WorkflowExecutionService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/WorkflowExecutionService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/WorkflowExecutionService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/service/WorkflowService.scala b/amber/src/main/scala/org/apache/texera/web/service/WorkflowService.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/service/WorkflowService.scala
rename to amber/src/main/scala/org/apache/texera/web/service/WorkflowService.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/storage/ExecutionReconfigurationStore.scala b/amber/src/main/scala/org/apache/texera/web/storage/ExecutionReconfigurationStore.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/storage/ExecutionReconfigurationStore.scala
rename to amber/src/main/scala/org/apache/texera/web/storage/ExecutionReconfigurationStore.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/storage/ExecutionStateStore.scala b/amber/src/main/scala/org/apache/texera/web/storage/ExecutionStateStore.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/storage/ExecutionStateStore.scala
rename to amber/src/main/scala/org/apache/texera/web/storage/ExecutionStateStore.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/storage/StateStore.scala b/amber/src/main/scala/org/apache/texera/web/storage/StateStore.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/storage/StateStore.scala
rename to amber/src/main/scala/org/apache/texera/web/storage/StateStore.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/web/storage/WorkflowStateStore.scala b/amber/src/main/scala/org/apache/texera/web/storage/WorkflowStateStore.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/web/storage/WorkflowStateStore.scala
rename to amber/src/main/scala/org/apache/texera/web/storage/WorkflowStateStore.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/workflow/LogicalLink.scala b/amber/src/main/scala/org/apache/texera/workflow/LogicalLink.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/workflow/LogicalLink.scala
rename to amber/src/main/scala/org/apache/texera/workflow/LogicalLink.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/workflow/LogicalPlan.scala b/amber/src/main/scala/org/apache/texera/workflow/LogicalPlan.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/workflow/LogicalPlan.scala
rename to amber/src/main/scala/org/apache/texera/workflow/LogicalPlan.scala
diff --git a/core/amber/src/main/scala/org/apache/texera/workflow/WorkflowCompiler.scala b/amber/src/main/scala/org/apache/texera/workflow/WorkflowCompiler.scala
similarity index 100%
rename from core/amber/src/main/scala/org/apache/texera/workflow/WorkflowCompiler.scala
rename to amber/src/main/scala/org/apache/texera/workflow/WorkflowCompiler.scala
diff --git a/core/amber/src/test/java/org/apache/texera/web/resource/dashboard/user/dataset/GitVersionControlLocalFileStorageSpec.java b/amber/src/test/java/org/apache/texera/web/resource/dashboard/user/dataset/GitVersionControlLocalFileStorageSpec.java
similarity index 100%
rename from core/amber/src/test/java/org/apache/texera/web/resource/dashboard/user/dataset/GitVersionControlLocalFileStorageSpec.java
rename to amber/src/test/java/org/apache/texera/web/resource/dashboard/user/dataset/GitVersionControlLocalFileStorageSpec.java
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/breakpoint/ExceptionBreakpointSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/breakpoint/ExceptionBreakpointSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/breakpoint/ExceptionBreakpointSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/breakpoint/ExceptionBreakpointSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/TrivialControlSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/TrivialControlSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/TrivialControlSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/TrivialControlSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ChainHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ChainHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ChainHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ChainHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/CollectHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/CollectHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/CollectHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/CollectHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ErrorHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ErrorHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ErrorHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/ErrorHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/MultiCallHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/MultiCallHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/MultiCallHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/MultiCallHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/NestedHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/NestedHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/NestedHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/NestedHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/PingPongHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/PingPongHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/PingPongHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/PingPongHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/RecursionHandler.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/RecursionHandler.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/RecursionHandler.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/RecursionHandler.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TesterAsyncRPCHandlerInitializer.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TesterAsyncRPCHandlerInitializer.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TesterAsyncRPCHandlerInitializer.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TesterAsyncRPCHandlerInitializer.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TrivialControlTester.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TrivialControlTester.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TrivialControlTester.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/control/utils/TrivialControlTester.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/controller/ControllerSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/controller/ControllerSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/controller/ControllerSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/controller/ControllerSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGatewaySpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGatewaySpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGatewaySpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/NetworkInputGatewaySpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManagerSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManagerSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManagerSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/OutputManagerSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/RangeBasedShuffleSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/RangeBasedShuffleSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/RangeBasedShuffleSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/messaginglayer/RangeBasedShuffleSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorkerSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorkerSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorkerSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/pythonworker/PythonWorkflowWorkerSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGeneratorSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGeneratorSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGeneratorSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/CostBasedScheduleGeneratorSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/DefaultCostEstimatorSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/DefaultCostEstimatorSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/DefaultCostEstimatorSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/DefaultCostEstimatorSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGeneratorSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGeneratorSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGeneratorSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/scheduling/ExpansionGreedyScheduleGeneratorSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DPThreadSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DPThreadSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DPThreadSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/worker/DPThreadSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DataProcessorSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DataProcessorSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/DataProcessorSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/worker/DataProcessorSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/WorkerSpec.scala b/amber/src/test/scala/org/apache/amber/engine/architecture/worker/WorkerSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/architecture/worker/WorkerSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/architecture/worker/WorkerSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/e2e/BatchSizePropagationSpec.scala b/amber/src/test/scala/org/apache/amber/engine/e2e/BatchSizePropagationSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/e2e/BatchSizePropagationSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/e2e/BatchSizePropagationSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/e2e/DataProcessingSpec.scala b/amber/src/test/scala/org/apache/amber/engine/e2e/DataProcessingSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/e2e/DataProcessingSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/e2e/DataProcessingSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/e2e/PauseSpec.scala b/amber/src/test/scala/org/apache/amber/engine/e2e/PauseSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/e2e/PauseSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/e2e/PauseSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/e2e/TestUtils.scala b/amber/src/test/scala/org/apache/amber/engine/e2e/TestUtils.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/e2e/TestUtils.scala
rename to amber/src/test/scala/org/apache/amber/engine/e2e/TestUtils.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/CheckpointSpec.scala b/amber/src/test/scala/org/apache/amber/engine/faulttolerance/CheckpointSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/CheckpointSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/faulttolerance/CheckpointSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/LoggingSpec.scala b/amber/src/test/scala/org/apache/amber/engine/faulttolerance/LoggingSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/LoggingSpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/faulttolerance/LoggingSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/ReplaySpec.scala b/amber/src/test/scala/org/apache/amber/engine/faulttolerance/ReplaySpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/amber/engine/faulttolerance/ReplaySpec.scala
rename to amber/src/test/scala/org/apache/amber/engine/faulttolerance/ReplaySpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/file/WorkflowResourceSpec.scala b/amber/src/test/scala/org/apache/texera/web/resource/dashboard/file/WorkflowResourceSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/file/WorkflowResourceSpec.scala
rename to amber/src/test/scala/org/apache/texera/web/resource/dashboard/file/WorkflowResourceSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResourceSpec.scala b/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResourceSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResourceSpec.scala
rename to amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowExecutionsResourceSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResourceSpec.scala b/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResourceSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResourceSpec.scala
rename to amber/src/test/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResourceSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/web/service/ExecutionConsoleServiceSpec.scala b/amber/src/test/scala/org/apache/texera/web/service/ExecutionConsoleServiceSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/web/service/ExecutionConsoleServiceSpec.scala
rename to amber/src/test/scala/org/apache/texera/web/service/ExecutionConsoleServiceSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/web/service/ExecutionResultServiceSpec.scala b/amber/src/test/scala/org/apache/texera/web/service/ExecutionResultServiceSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/web/service/ExecutionResultServiceSpec.scala
rename to amber/src/test/scala/org/apache/texera/web/service/ExecutionResultServiceSpec.scala
diff --git a/core/amber/src/test/scala/org/apache/texera/workflow/common/storage/ReadonlyLocalFileDocumentSpec.scala b/amber/src/test/scala/org/apache/texera/workflow/common/storage/ReadonlyLocalFileDocumentSpec.scala
similarity index 100%
rename from core/amber/src/test/scala/org/apache/texera/workflow/common/storage/ReadonlyLocalFileDocumentSpec.scala
rename to amber/src/test/scala/org/apache/texera/workflow/common/storage/ReadonlyLocalFileDocumentSpec.scala
diff --git a/bin/python-proto-gen.sh b/bin/python-proto-gen.sh
index f6b8471495..c049fcbbfc 100755
--- a/bin/python-proto-gen.sh
+++ b/bin/python-proto-gen.sh
@@ -19,7 +19,7 @@
 
 # dirs
 TEXERA_HOME="$(git rev-parse --show-toplevel)"
-AMBER_DIR="$TEXERA_HOME/core/amber"
+AMBER_DIR="$TEXERA_HOME/amber"
 PYAMBER_DIR="$AMBER_DIR/src/main/python"
 PROTOBUF_AMBER_DIR="$AMBER_DIR/src/main/protobuf"
 
diff --git a/build.sbt b/build.sbt
index e886bb21ae..fb89ff94d7 100644
--- a/build.sbt
+++ b/build.sbt
@@ -74,7 +74,7 @@ lazy val WorkflowCompilingService = (project in file("workflow-compiling-service
     )
   )
 
-lazy val WorkflowExecutionService = (project in file("core/amber"))
+lazy val WorkflowExecutionService = (project in file("amber"))
   .dependsOn(WorkflowOperator, Auth, Config)
   .settings(
     dependencyOverrides ++= Seq(
diff --git a/core/config/src/main/scala/org/apache/amber/config/StorageConfig.scala b/core/config/src/main/scala/org/apache/amber/config/StorageConfig.scala
index 58d1d1739a..e5df650670 100644
--- a/core/config/src/main/scala/org/apache/amber/config/StorageConfig.scala
+++ b/core/config/src/main/scala/org/apache/amber/config/StorageConfig.scala
@@ -20,7 +20,6 @@ package org.apache.amber.config
 
 import com.typesafe.config.{Config, ConfigFactory}
 import org.apache.amber.util.ConfigParserUtil.parseSizeStringToBytes
-import org.apache.amber.util.PathUtils.corePath
 
 import java.nio.file.Path
 
@@ -86,7 +85,11 @@ object StorageConfig {
 
   // File storage configurations
   val fileStorageDirectoryPath: Path =
-    corePath.resolve("amber").resolve("user-resources").resolve("workflow-results")
+    Path
+      .of(sys.env.getOrElse("TEXERA_HOME", "."))
+      .resolve("amber")
+      .resolve("user-resources")
+      .resolve("workflow-results")
 
   // JDBC
   val ENV_JDBC_URL = "STORAGE_JDBC_URL"
diff --git a/core/config/src/main/scala/org/apache/amber/util/PathUtils.scala b/core/config/src/main/scala/org/apache/amber/util/PathUtils.scala
deleted file mode 100644
index f3a433c7b5..0000000000
--- a/core/config/src/main/scala/org/apache/amber/util/PathUtils.scala
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.amber.util
-
-import java.nio.file.{Files, Path, Paths}
-import scala.jdk.CollectionConverters.IteratorHasAsScala
-
-object PathUtils {
-  val coreDirectoryName = "core"
-
-  /**
-    * Gets the real path of the workflow-compiling-service home directory by:
-    * 1) Checking if the current directory is workflow-compiling-service.
-    * If it's not, then:
-    * 2) Searching the siblings and children to find the home path.
-    *
-    * @return the real absolute path to the home directory
-    */
-  lazy val corePath: Path = {
-    val currentWorkingDirectory = Paths.get(".").toRealPath()
-    // check if the current directory is the home path
-    if (isCorePath(currentWorkingDirectory)) {
-      currentWorkingDirectory
-    } else {
-      // from current path's parent directory, search its children to find home path
-      val searchChildren = Files
-        .walk(currentWorkingDirectory.getParent, 3)
-        .filter((path: Path) => isCorePath(path))
-        .findAny
-      if (searchChildren.isPresent) {
-        searchChildren.get
-      } else {
-        throw new RuntimeException(
-          f"Finding $coreDirectoryName home path failed. Current working directory is " + currentWorkingDirectory
-        )
-      }
-    }
-  }
-
-  lazy val accessControlServicePath: Path = corePath.resolve("access-control-service")
-
-  private lazy val datasetsRootPath =
-    corePath.resolve("amber").resolve("user-resources").resolve("datasets")
-
-  def getDatasetPath(did: Integer): Path = {
-    datasetsRootPath.resolve(did.toString)
-  }
-
-  lazy val gitDirectoryPath: Path = corePath.getParent
-
-  def getAllDatasetDirectories(): List[Path] = {
-    if (Files.exists(datasetsRootPath)) {
-      Files
-        .list(datasetsRootPath)
-        .filter(Files.isDirectory(_))
-        .iterator()
-        .asScala
-        .toList
-    } else {
-      List.empty[Path]
-    }
-  }
-
-  private def isCorePath(path: Path): Boolean = {
-    path.toRealPath().endsWith(coreDirectoryName)
-  }
-}
diff --git a/core/workflow-core/src/main/scala/org/apache/amber/core/storage/model/DatasetFileDocument.scala b/core/workflow-core/src/main/scala/org/apache/amber/core/storage/model/DatasetFileDocument.scala
index 8a25735b89..5faf95570b 100644
--- a/core/workflow-core/src/main/scala/org/apache/amber/core/storage/model/DatasetFileDocument.scala
+++ b/core/workflow-core/src/main/scala/org/apache/amber/core/storage/model/DatasetFileDocument.scala
@@ -27,7 +27,6 @@ import org.apache.amber.core.storage.model.DatasetFileDocument.{
 }
 import org.apache.amber.core.storage.util.LakeFSStorageClient
 import org.apache.amber.core.storage.util.dataset.GitVersionControlLocalFileStorage
-import org.apache.amber.util.PathUtils
 
 import java.io.{File, FileOutputStream, InputStream}
 import java.net._
@@ -169,10 +168,21 @@ private[storage] class DatasetFileDocument(uri: URI)
       case Some(file) => Files.delete(file.toPath)
       case None       => // Do nothing
     }
+    lazy val datasetsRootPath =
+      Path
+        .of(sys.env.getOrElse("TEXERA_HOME", "."))
+        .resolve("amber")
+        .resolve("user-resources")
+        .resolve("datasets")
+
+    def getDatasetPath(did: Integer): Path = {
+      datasetsRootPath.resolve(did.toString)
+    }
+
     // then remove the dataset file
     GitVersionControlLocalFileStorage.removeFileFromRepo(
-      PathUtils.getDatasetPath(0),
-      PathUtils.getDatasetPath(0).resolve(fileRelativePath)
+      getDatasetPath(0),
+      getDatasetPath(0).resolve(fileRelativePath)
     )
   }
 
diff --git a/core/workflow-operator/src/main/scala/org/apache/amber/operator/LogicalOp.scala b/core/workflow-operator/src/main/scala/org/apache/amber/operator/LogicalOp.scala
index c9dd34c00e..e00dfd5c72 100644
--- a/core/workflow-operator/src/main/scala/org/apache/amber/operator/LogicalOp.scala
+++ b/core/workflow-operator/src/main/scala/org/apache/amber/operator/LogicalOp.scala
@@ -427,7 +427,7 @@ abstract class LogicalOp extends PortDescriptor with Serializable {
   def operatorInfo: OperatorInfo
 
   private def getOperatorVersion: String = {
-    val path = "core/amber/src/main/scala/"
+    val path = "amber/src/main/scala/"
     val operatorPath = path + this.getClass.getPackage.getName.replace(".", "/")
     OPVersion.getVersion(this.getClass.getSimpleName, operatorPath)
   }
diff --git a/core/workflow-operator/src/main/scala/org/apache/amber/operator/TestOperators.scala b/core/workflow-operator/src/main/scala/org/apache/amber/operator/TestOperators.scala
index da2d579d47..fa82e443ea 100644
--- a/core/workflow-operator/src/main/scala/org/apache/amber/operator/TestOperators.scala
+++ b/core/workflow-operator/src/main/scala/org/apache/amber/operator/TestOperators.scala
@@ -32,11 +32,16 @@ import org.apache.amber.operator.source.scan.json.JSONLScanSourceOpDesc
 import org.apache.amber.operator.source.sql.asterixdb.AsterixDBSourceOpDesc
 import org.apache.amber.operator.source.sql.mysql.MySQLSourceOpDesc
 import org.apache.amber.operator.udf.python.PythonUDFOpDescV2
-import org.apache.amber.util.PathUtils
+
+import java.nio.file.Path
 
 object TestOperators {
 
-  val parentDir = PathUtils.corePath.resolve("workflow-operator").toRealPath().toString
+  val parentDir = Path
+    .of(sys.env.getOrElse("TEXERA_HOME", "."))
+    .resolve("core/workflow-operator")
+    .toRealPath()
+    .toString
   val CountrySalesSmallCsvPath = s"$parentDir/src/test/resources/country_sales_small.csv"
   val CountrySalesMediumCsvPath = s"$parentDir/src/test/resources/country_sales_medium.csv"
   val CountrySalesHeaderlessSmallCsvPath =
diff --git a/core/workflow-operator/src/main/scala/org/apache/amber/operator/metadata/OPVersion.java b/core/workflow-operator/src/main/scala/org/apache/amber/operator/metadata/OPVersion.java
index 46c75e01e0..3d2adae23a 100644
--- a/core/workflow-operator/src/main/scala/org/apache/amber/operator/metadata/OPVersion.java
+++ b/core/workflow-operator/src/main/scala/org/apache/amber/operator/metadata/OPVersion.java
@@ -19,12 +19,12 @@
 
 package org.apache.amber.operator.metadata;
 
-import org.apache.amber.util.PathUtils;
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.api.errors.GitAPIException;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -33,7 +33,7 @@ public class OPVersion {
     private static Map<String, String> opMap = new HashMap<>();
     static {
         try {
-            git = Git.open(new File(PathUtils.gitDirectoryPath().toString()));
+            git = Git.open(new File(Path.of(System.getenv().getOrDefault("TEXERA_HOME", ".")).toString()));
         } catch (IOException e) {
             e.printStackTrace();
         }
diff --git a/deployment/computing-unit-master.dockerfile b/deployment/computing-unit-master.dockerfile
index 0f10729527..d44fe9703d 100644
--- a/deployment/computing-unit-master.dockerfile
+++ b/deployment/computing-unit-master.dockerfile
@@ -41,11 +41,11 @@ RUN unzip amber/target/universal/texera-*.zip -d amber/target/
 
 FROM eclipse-temurin:11-jdk-jammy AS runtime
 
-WORKDIR /core/amber
+WORKDIR /amber
 
-COPY --from=build /core/amber/r-requirements.txt /tmp/r-requirements.txt
-COPY --from=build /core/amber/requirements.txt /tmp/requirements.txt
-COPY --from=build /core/amber/operator-requirements.txt /tmp/operator-requirements.txt
+COPY --from=build /amber/r-requirements.txt /tmp/r-requirements.txt
+COPY --from=build /amber/requirements.txt /tmp/requirements.txt
+COPY --from=build /amber/operator-requirements.txt /tmp/operator-requirements.txt
 
 # Install Python & R runtime dependencies
 RUN apt-get update && apt-get install -y \
@@ -98,12 +98,12 @@ ENV LD_LIBRARY_PATH=/usr/local/lib/R/lib:$LD_LIBRARY_PATH
 
 # Copy the built texera binary from the build phase
 COPY --from=build /.git /.git
-COPY --from=build /core/amber/target/texera-* /core/amber
+COPY --from=build /amber/target/texera-* /amber
 # Copy resources directories under /core from build phase
 COPY --from=build /core/config/src/main/resources /core/config/src/main/resources
-COPY --from=build /core/amber/src/main/resources /core/amber/src/main/resources
+COPY --from=build /amber/src/main/resources /amber/src/main/resources
 # Copy code for python & R UDF
-COPY --from=build /core/amber/src/main/python /core/amber/src/main/python
+COPY --from=build /amber/src/main/python /amber/src/main/python
 
 CMD ["bin/computing-unit-master"]
 
diff --git a/deployment/computing-unit-worker.dockerfile b/deployment/computing-unit-worker.dockerfile
index b6e1a48555..4d60b52497 100644
--- a/deployment/computing-unit-worker.dockerfile
+++ b/deployment/computing-unit-worker.dockerfile
@@ -41,10 +41,10 @@ RUN unzip amber/target/universal/texera-*.zip -d amber/target/
 
 FROM eclipse-temurin:11-jre-jammy AS runtime
 
-WORKDIR /core/amber
+WORKDIR /amber
 
-COPY --from=build /core/amber/requirements.txt /tmp/requirements.txt
-COPY --from=build /core/amber/operator-requirements.txt /tmp/operator-requirements.txt
+COPY --from=build /amber/requirements.txt /tmp/requirements.txt
+COPY --from=build /amber/operator-requirements.txt /tmp/operator-requirements.txt
 
 # Install Python runtime and dependencies
 RUN apt-get update && apt-get install -y \
@@ -62,9 +62,9 @@ RUN pip3 install --no-cache-dir --find-links https://pypi.org/simple/ -r /tmp/op
     pip3 install --no-cache-dir wordcloud==1.9.2
 
 # Copy the built texera binary from the build phase
-COPY --from=build /core/amber/target/texera-* /core/amber
+COPY --from=build /amber/target/texera-* /amber
 # Copy resources directories under /core from build phase
-COPY --from=build /core/amber/src/main/resources /core/amber/src/main/resources
+COPY --from=build /amber/src/main/resources /amber/src/main/resources
 COPY --from=build /core/config/src/main/resources /core/config/src/main/resources
 
 CMD ["bin/computing-unit-worker"]
diff --git a/deployment/single-node/docker-compose.yml b/deployment/single-node/docker-compose.yml
index cb6f16bf21..bf290e509c 100644
--- a/deployment/single-node/docker-compose.yml
+++ b/deployment/single-node/docker-compose.yml
@@ -122,7 +122,7 @@ services:
     env_file:
       - .env
     volumes:
-      - workflow_result_data:/core/amber/user-resources
+      - workflow_result_data:/amber/user-resources
 
   # TexeraWebApplication provides endpoints for hub resource management.
   texera-web-application:
@@ -139,7 +139,7 @@ services:
     env_file:
       - .env
     volumes:
-      - workflow_result_data:/core/amber/user-resources
+      - workflow_result_data:/amber/user-resources
     healthcheck:
       test: ["CMD", "curl", "-sf", "http://localhost:8080/api/healthcheck"]
       interval: 5s
diff --git a/deployment/texera-web-application.dockerfile b/deployment/texera-web-application.dockerfile
index e94aa5cd18..609c0f40d6 100644
--- a/deployment/texera-web-application.dockerfile
+++ b/deployment/texera-web-application.dockerfile
@@ -55,14 +55,14 @@ RUN unzip amber/target/universal/texera-*.zip -d amber/target/
 
 FROM eclipse-temurin:11-jre-jammy AS runtime
 
-WORKDIR /core/amber
+WORKDIR /amber
 # Copy built GUI files from the build-gui stage
 COPY --from=build-gui /gui/dist /core/gui/dist
 # Copy the built texera binary from the build phase
 COPY --from=build /.git /.git
-COPY --from=build /core/amber/target/texera-* /core/amber
+COPY --from=build /amber/target/texera-* /amber
 # Copy resources directories under /core from build phase
-COPY --from=build /core/amber/src/main/resources /core/amber/src/main/resources
+COPY --from=build /amber/src/main/resources /amber/src/main/resources
 COPY --from=build /core/config/src/main/resources /core/config/src/main/resources
 
 CMD ["bin/texera-web-application"]
diff --git a/frontend/src/app/common/type/user.ts b/frontend/src/app/common/type/user.ts
index 9af821a169..4d8b02cc39 100644
--- a/frontend/src/app/common/type/user.ts
+++ b/frontend/src/app/common/type/user.ts
@@ -22,10 +22,8 @@ import { Point } from "../../workspace/types/workflow-common.interface";
 /**
  * This interface stores the information about the user account.
  * Such information is used to identify users and to save their data
- * Corresponds to `core/amber/src/main/scala/org/apache/texera/web/resource/auth/UserResource.scala`
+ * Corresponds to `amber/src/main/scala/org/apache/texera/web/resource/auth/UserResource.scala`
  */
-
-// Please check Role at \core\amber\src\main\scala\edu\uci\ics\texera\web\model\jooq\generated\enums\UserRole.java
 export enum Role {
   INACTIVE = "INACTIVE",
   RESTRICTED = "RESTRICTED",