initial dirty add of most functions