*further refined up/down logic