tested and updated some todos
fixed price:0 default value in component_add which doesn't work