ready for our team to code review it
added printing