Hardware I have down. I learned this solution years ago: link
Basically: White cross, 3 white corners, 2Lcorners under those corners, bottom cross and remaining edge, position corners, orient corners. I do everything intuitively and use a simple alg to position corners and another simple alg...