might be generally finished with prog assign 1