Update, Added Documentation and fixed a few bugs