alpha version. added some features, fixed some bugs. created some interface