- Remove unused libraries
 - Refactor constructor
 - Add correct virtual method