first round, added functions