Divided into more methods