Initial Commit

Still requires data validation and logic separation