add more behaviors and helper methods