Merged all into a single commit

Please, review. I'll remove previous pull request as it points to incorrect repo