updated with docker and made it more concise