finished fundamental functions.