making programmable logic development less painful