implemented all low level behaviours