Need a way to make this extensible