the process here is always the same