some people remove the public part because is redundant since interfaces always expose methods that are public, i am not sure if we are doing this in  Gush, i will check it later, just a note