first program implementation