add support for serrano
reverted commits and moved some codes

Signed-off-by: Willi Ye <williye97@gmail.com>