seperating for easier testing