initial update - layout, refactor, cleanup