here
need to decide which printing method is best