initial morse implementation