simpler & cleaner