modified some things for user engine