add some logging, organize properties