Basic engine has been made to support other classes.