add landscape orientation support
refactor