added some libs, made some structure