say command implemented
big refactory