Much cleaner approach