almost done
* support key in tones
*support record and play