Revert "Self Development"

This reverts commit 25bacfa101ec15d989c2fb6f8b5393b7613e4857.
Revert "Revert "Self Development""

This reverts commit ce716e13464b53dcadde9b71103c87977642c444.
Revert "Revert "Revert "Self Development"""

This reverts commit ef8bac46a71a982dfae9f5dff38ceb2517ec3f91.