code cleanup
+ dialog moved to separate component