refactor code and add belphegor properties