alpha version . I may change interface.