Issue #123 #125 #126 #139 Ready to merge