separated out dependencies into lib directory, this will also aid documentation