better implementation for prawn.rb