support for auto completion
code cleanup