making api more modular with seperate execution of libraries