added  new features + fixed few old bugs