cleanup - move functionality to separate fiels