initial commit
working
updated spec