made all interfaces Java and found weird behavior in spec