segregated functions into separate directories