Implemented #17 and #8 as a part of #13.
Honestly I'm proud of work done.
Fix #17. Fix #8.