Initial Commit

Not ready for release. Still under development.