moved initialization components to their own files