general bug fixes\nremove circular dependencies