realized some serious design mistakes. thanks mr. potatosalad