functions changedsome logic