various improvements
added id