Initial commit, much cleanup needed.