improved #15 by removing further unrequired dependencies and
refactorings of this file