First code commit

Basic functionality incomplete