preparing for function definitons