This approach is not hacky at all.