Revert "Revert "Semi-Functionality""

This reverts commit 62f1f25d5151734ff171229d74b403302bf74729.