Have the initial function more or less working