better renderer that takes height into account