lots of improvements and functionality changes to currentcomponent