component support and ability to pass functions instead of paths