Next iteration (cleaner design)