move things around
move responsibilities