I am having a hard time figuring out how to remove the epsilon production from this context free grammar. Any help would be appreciated.
CFG: (below)
$S\to SAS|SBS|SaS|a|ba$
$A\to SAS|AaBB|Aba$
$B\to AAbB|BB$
$C\to a|bCa|Saaa$
$D\to SAS|SaS|\epsilon$