added good printing and onblur handling