i was debating if this should be on the serverside... it seemed very coupled to the UI