started implementation with the simplest case