working now, just ugly