many minor updates/added functions