functional descriptions added