working on recursive loading