break classes into separate files
add behaviors
rename handler