lets use a builder instead of doing this