in process of bebugging. Broken.