Revert "Revert 129b801..fd35d00"

This reverts commit fef570c9c7ee8f1bc4c4e41bf1313358274a32da.
Fixed all errors