refactor responsive layout