make it selfcontained