yeurgh this just keeps getting uglier