better organize code