Contract implementation