[UPDATE] - Big refactoring
[ADD] - Implemented some engine functions