seriously that was way too hard