updates and extra definitions
cleanup