refactor retina view
fix some bugs with print obj