Working version with poor style