i still don't like this approach.