moved code out of Organizer to improve extensibility