working on a priori methods