Tidied up contact model a bit