component now use two params when creating components