removed mutual class dependencies, minor bugs removed