Issue #70 and a part of issue #56

Issue #70 is complete and need few change in a ball system. So, I made this in a different commit, part of issue #56.