Move support check in abstract classes
Add doc blocks
Add doc blocks