changed a few things, structure not finished