added more components, made some improvements