Ugly but functional for now.