added many small features