This can be much shorter :|