remove much excess logic