update to program logic