this might be slightly more sane