*moving everything to its own method