Somehow this doesn't feel like the best way to implement this....