ugh, partial solution that couldve been easier