latest updated work with adding functions and modules