a bit of crazy frontend stuff