Do you think I should keep him or move on

I've been dating my boyfriend for 2 years . Things seemed okay . He got caught doing something he wasn't suppose to be doing . He slept over a girls house and told me he was suppose to be sleeping over his cousins house . His mother had to even call me to see where he was at . The other day he called me and told me he fucked another girl by an accident. Which I think is a lie . Honestly don't know what to do ? 
Do you think I should leave him or work things out between us ?
Advice from anyone ?