basic implementation with example menu