Full implementation basic model