refactor. more mobile friendly