Regular implementation