pre methods