implemented all the rest
Merge origin/master