adding tests and changing libs & stuff