move board behavior to controller