renamed some parts, fixed some parts, forgot everything else