Updated with oks' responsive code idea