splitting up the methods