added the start of the conditional library
cleaned up the grammar