Alex - refactoring, and improving based on feedback by Robin