is the above constructor needed?