added documentation. removed some imports