better file structure
unpack
unpack
not needed
extract methods
better structure
comments, use delegation
dry