move into own class