Reviewed-by: dholmes, kbarrett
Reviewed-by: dholmes, ysuenaga
Reviewed-by: ysuenaga, simonis, stuefe, phh, dholmes, ayang