add final angular touches and q defer