Modified to follow Daniel Hokka Zakrisson's recommendations.