updated, added functions.