prototype for function creation