still hackish, but its a start