sync with engine

moved code to Base