this is where it gets ugly