creating customcomponents