added description and fixed some little bugs