fixed a few big design issues