this was easier than i expected