explicit logic