seperating functions into cats