reworking print function
added color support