add features / bugs fix