updated with minor changes