nice, I like using the enum pattern here!