Nicer constructor