I am struggling with the concept of 2NF form. Lets say I have a set of functional dependencies for R1(A,B,C,D,E, H,M,K)
Where :

B->M,C
AB->D
DH ->E
H->K
A->H

Whenever I try to decompose it, I directly get 3 NF tables. What are the rules to get something in 2 NF, with minimal set of tables ?

Now how do I take this further to 3 NF or BCNF?