first big commit with everything organized