Separated functions into multiple headers/sources.