continued best practice. splitting bloated functions down. still wip