Finished simple implementation using say