builder class added for convenience